diff --git a/README.md b/README.md index 5f96021a..f28996a9 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # ADAMANT -ADAMANT is a **decentralized blockchain messaging platform**. Applications use ADAMANT as an anonymous and encrypted relay and storage to enable messaging features. As examples, see [Messenger app](https://github.com/Adamant-im/adamant-im), [Blockchain 2FA](https://github.com/Adamant-im/adamant-2fa) and [Cryptocurrency Exchanger](https://github.com/Adamant-im/adamant-exchangebot) implementations. +ADAMANT is a **decentralized blockchain messaging platform**. Applications use ADAMANT as an anonymous and encrypted relay and storage to enable messaging features. For examples, see the [Messenger app](https://github.com/Adamant-im/adamant-im), [Blockchain 2FA](https://github.com/Adamant-im/adamant-2fa), and [Cryptocurrency Exchanger](https://github.com/Adamant-im/adamant-exchangebot) implementations. -For more information refer to ADAMANT website: . +For more information, refer to the ADAMANT website: . ![ADAMANT nodes](./img/adm-nodes.jpeg) @@ -17,17 +17,17 @@ Additional information: Comprehensive [API specification](https://github.com/Adamant-im/adamant/wiki) is available. -The manual describes API endpoints to manage accounts, transactions, chats, and a key-value storage (KVS). Additionally, the manual suggests valuable information on creating new accounts and encrypting and decrypting messages. +The manual describes API endpoints to manage accounts, transactions, chats, and key-value storage (KVS). Additionally, the manual suggests valuable information on creating new accounts and encrypting and decrypting messages. ## Set up -[How to run ADAMANT node (instructions for users)](https://medium.com/adamant-im/how-to-run-your-adamant-node-on-ubuntu-990e391e8fcc). You can skip them if you are experienced Linux user. +[How to run ADAMANT node (instructions for users)](https://medium.com/adamant-im/how-to-run-your-adamant-node-on-ubuntu-990e391e8fcc). You can skip them if you are an experienced Linux user. ### Requirements - Ubuntu 18/20/22 (others are not tested) - 2 GB RAM -- 60 GB disk space as on November 2022 +- 70 GB disk space as of November 2023 ### Installation script @@ -35,11 +35,11 @@ For new droplets, use the [Installation script](./tools/install_node.sh), includ `sudo bash -c "$(wget -O - https://adamant.im/install_node.sh)"` -The script updates Ubuntu packages, creates user named adamant, installs PostgreSQL, Node.js and other necessary packages, sets up ADAMANT node, and optionally downloads up-to-date ADAMANT blockchain image. +The script updates Ubuntu packages, creates the user named `adamant`, installs PostgreSQL, Node.js, and other necessary packages, sets up the ADAMANT node, and optionally downloads an up-to-date ADAMANT blockchain image. Script parameters: -- `-b`: choose GitHub branch for node installation. Example: `-b dev`. Default is `master`. +- `-b`: choose the GitHub branch for node installation. Example: `-b dev`. Default is `master`. - `-n`: choose `mainnet` or `testnet` network. Example: `-n testnet`. Default is `mainnet`. F. e., @@ -48,7 +48,7 @@ F. e., ### Prerequisites -- Tool chain components — Used for compiling dependencies +- Toolchain components — Used for compiling dependencies `sudo apt-get install -y python build-essential curl automake autoconf libtool` @@ -58,18 +58,18 @@ F. e., - Node.js — Node.js serves as the underlying engine for code execution - System wide via package manager: + System-wide via package manager: ``` - curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - + curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs ``` Locally using nvm: ``` - curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash - nvm i --lts=gallium + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash + nvm i --lts=hydrogen ``` - Install PostgreSQL: @@ -80,7 +80,7 @@ F. e., sudo apt-get update sudo apt-get install -y postgresql postgresql-contrib libpq-dev - # Create user if you are working from superuser + # Create a user if you are working from superuser adduser adamant sudo usermod -aG sudo adamant su - adamant @@ -129,7 +129,7 @@ Make the necessary changes to the configuration values in the file. At minimum, ### Bootstrap with a blockchain image -Blockchain image saves time on node sync but you must completely trust the image. If you skip this step, your node will check every single transaction, which takes time (up for several days). +A blockchain image saves time on node sync, but you must completely trust the image. If you skip this step, your node will check every single transaction, which takes time (up to several days). ``` wget https://explorer.adamant.im/db_backup.sql.gz @@ -162,7 +162,7 @@ To add ADAMANT node to crontab for autostart after system reboot (fix installati ## Tests -Before running any tests, run ADAMANT node with a testnet configuration: +Before running any tests, run the ADAMANT node with a testnet configuration: ``` npm run start:testnet @@ -194,7 +194,7 @@ npm run test:single test/api/accounts.js ## License -Copyright © 2020-2022 ADAMANT Foundation +Copyright © 2020-2023 ADAMANT Foundation Copyright © 2017-2020 ADAMANT TECH LABS LP diff --git a/config.default.json b/config.default.json index 01fcf138..aa43fd64 100644 --- a/config.default.json +++ b/config.default.json @@ -45,15 +45,11 @@ "enabled": true, "list": [ { - "ip": "51.15.221.205", - "port": 36666 - }, - { - "ip": "51.15.88.53", + "ip": "5.161.68.61", "port": 36666 }, { - "ip": "5.161.68.61", + "ip": "149.102.157.15", "port": 36666 }, { @@ -67,6 +63,14 @@ { "ip": "138.201.152.191", "port": 36666 + }, + { + "ip": "184.94.215.92", + "port": 45555 + }, + { + "ip": "207.244.243.23", + "port": 45555 } ], "access": { diff --git a/config.json b/config.json deleted file mode 100644 index aa43fd64..00000000 --- a/config.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "port": 36666, - "address": "0.0.0.0", - "fileLogLevel": "warn", - "logFileName": "logs/adamant.log", - "consoleLogLevel": "info", - "trustProxy": false, - "topAccounts": false, - "cacheEnabled": false, - "db": { - "host": "localhost", - "port": 5432, - "database": "adamant_main", - "user": "adamant", - "password": "password", - "poolSize": 95, - "poolIdleTimeout": 30000, - "reapIntervalMillis": 1000, - "logEvents": [ - "error" - ] - }, - "redis": { - "url": "redis://127.0.0.1:6379/0", - "password": null - }, - "api": { - "enabled": true, - "access": { - "public": false, - "whiteList": [ - "127.0.0.1" - ] - }, - "options": { - "limits": { - "max": 0, - "delayMs": 0, - "delayAfter": 0, - "windowMs": 60000 - } - } - }, - "peers": { - "enabled": true, - "list": [ - { - "ip": "5.161.68.61", - "port": 36666 - }, - { - "ip": "149.102.157.15", - "port": 36666 - }, - { - "ip": "78.47.205.206", - "port": 36666 - }, - { - "ip": "107.161.26.184", - "port": 36666 - }, - { - "ip": "138.201.152.191", - "port": 36666 - }, - { - "ip": "184.94.215.92", - "port": 45555 - }, - { - "ip": "207.244.243.23", - "port": 45555 - } - ], - "access": { - "blackList": [] - }, - "options": { - "limits": { - "max": 0, - "delayMs": 0, - "delayAfter": 0, - "windowMs": 60000 - }, - "timeout": 5000 - } - }, - "broadcasts": { - "broadcastInterval": 1500, - "broadcastLimit": 20, - "parallelLimit": 20, - "releaseLimit": 25, - "relayLimit": 4 - }, - "transactions": { - "maxTxsPerQueue": 1000 - }, - "forging": { - "force": false, - "secret": [], - "access": { - "whiteList": [ - "127.0.0.1" - ] - } - }, - "loading": { - "verifyOnLoading": false, - "loadPerIteration": 5000 - }, - "ssl": { - "enabled": false, - "options": { - "port": 443, - "address": "0.0.0.0", - "key": "./ssl/adamant.key", - "cert": "./ssl/adamant.crt" - } - }, - "dapp": { - "masterrequired": true, - "masterpassword": "", - "autoexec": [] - }, - "wsClient": { - "portWS": 36668, - "enabled": true - }, - "nethash": "bd330166898377fb28743ceef5e43a5d9d0a3efd9b3451fb7bc53530bb0a6d64" -} diff --git a/package.json b/package.json index c3762326..bd85f3fc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "adamant", - "version": "0.8.2", + "version": "0.8.3", + "description": "ADAMANT Blockchain Node", "private": true, "scripts": { "start": "node app.js", @@ -33,10 +34,10 @@ "cryptocurrency", "dpos" ], - "author": "ADAMANT Tech Labs , Lisk Foundation , lightcurve GmbH ", + "author": "ADAMANT Foundation , ADAMANT Tech Labs , Lisk Foundation , lightcurve GmbH ", "license": "GPL-3.0", "dependencies": { - "async": "=3.2.4", + "async": "=3.2.5", "axios": "^0.27.2", "bignumber.js": "=9.1.2", "bitcore-mnemonic": "=8.25.36", @@ -66,7 +67,7 @@ "pg-native": "=3.0.1", "pg-promise": "=10.11.1", "randomstring": "=1.3.0", - "redis": "=4.6.10", + "redis": "=4.6.11", "rimraf": "=3.0.2", "semver": "=7.5.4", "socket.io": "^4.7.2", @@ -83,7 +84,7 @@ "chai-bignumber": "^3.1.0", "eslint-config-google": "^0.14.0", "eslint-formatter-codeframe": "^7.32.1", - "eslint-plugin-jsdoc": "^46.8.2", + "eslint-plugin-jsdoc": "^46.9.0", "grunt": "^1.6.1", "grunt-cli": "^1.4.3", "grunt-contrib-compress": "^2.0.0", @@ -104,7 +105,7 @@ } }, "config": { - "minVersion": ">=0.4.0" + "minVersion": ">=0.6.0" }, "repository": { "type": "git",