In order to begin running a full DPoS consensus, all registered Supernodes must complete setup. In order to facilitate the setup process for those who are less technically acquainted, the Elastos Blockchain Developer Team has provided simplified instructions to get Supernodes up and running. In order to set up your registered Supernode, please carefully follow the action steps below.
Requirements:
- System: Ubuntu 18.04 LTS 64-bit
- CPU: 2 cores or more
- Memory: 4GB or more
- Hard drive: 40GB or more
- Network: Standard network with accessible public IP or domain name
- DposPort[default: 20339]: The firewall needs to open this port to the entire network
- NodePort[default: 20338]: The firewall needs to open this port to the entire network
1. Installation
1.1. Download the compressed package for the node.
Download the compressed package with suffix tgz for the node.
$ wget https://download.elastos.org/supernode/elastos-supernode-20190609-alpha.tgz
1.2. Verify that the compressed package for the node is correct.
$ wget https://download.elastos.org/supernode/elastos-supernode-20190609-alpha.tgz.digest
$ shasum -c elastos-supernode-20190609-alpha.tgz.digest
Which should output
elastos-supernode-20190609-alpha.tgz: OK
1.3. Unzip the compressed package for the node.
$ tar xf elastos-supernode-20190609-alpha.tgz
After unzipping, you will get the directory structure that is consistent with the node/readme.txt file.
1.4. Verify that the contents in the compressed package are correct.
$ cd node
$ shasum -c checksum.txt
If the output is as follows, it indicates that the content of the compressed package has been verified successfully:
node.sh: OK
ela/ela: OK
did/did: OK
token/token: OK
carrier/ela-bootstrapd: OK
2. Run the Node
node/node.sh
is the main script for running and maintaining nodes. You can use this script to complete node initialization, startup, shutdown, and so on.
2.1. Configuration
$ node/node.sh init
Enter the password used to create the keystore.dat file, and then node/node.sh will automatically get the server’s public IP and use this IP to complete the configuration file modification.
Please record the corresponding public key. It is the node’s public key, which is to be provided by the candidate in the Elastos Mobile Wallet. A new candidate must input the public key on the “Election Registration” page; a registered candidate needs to fill the public key and update the information under the “Manage Election” page. When clicking, “Update Information,” you will be requested to enter the payment password again to ensure that the updated information is submitted to and recorded on the blockchain.
Please enter your password for keystore.dat: Creating keystore.dat…
ADDRESS PUBLIC KEY
---------------------------------- -------------------------------------------
-----------------------
EfXimFfnNL8Cw5U2xkHYabvnJ5JDQYucA3
0312dba0fab6572d56b6f707866814924efd42354cb740fafc842d79d2c2bcd761
---------------------------------- -------------------------------------------
-----------------------
Done
Updating /node/ela/config.json...
Done
Updating /node/carrier/bootstrapd.conf...
Done
2.2 Start the node
$ node/node.sh start
The output below indicates that the node is started normally:
Starting ela...
ela: Running, 29709
Starting did...
did: Running, 29723
Starting token...
token: Running, 29736
Starting carrier...
Elastos bootstrap daemon, version 5.2(20190604)
carrier: Running, 2493, 2495
2.3. Shut Down the Node
Shut down the ELA, DID, Token, and Carrier nodes:
$ node/node.sh stop
If the node is normally closed, the following output will be displayed:
Stopping ela...
ela: Stopped
Stopping did...
did: Stopped
Stopping token...
token: Stopped
Stopping carrier...
carrier: Stopped
2.4. Status
Check node status.
$ node/node.sh status
If the following output is displayed, the node is running normally:
ela: Running, 29709
did: Running, 29723
token: Running, 29736
carrier: Running, 2493, 2495
If the output is as follows, the node is closed:
ela: Stopped
did: Stopped
token: Stopped
carrier: Stopped
Steps to re-activate your supernode:
Step 1: Change to your ela node directory
Step 2: Build a transaction to re-activate your node
$ ./ela-cli wallet buildtx activate –nodepublickey your_own_node_key
Step 3: Send a transaction to re-activate your node
$ ./ela-cli wallet sendtx -f ready_to_send.txn –rpcuser your_own_username –rpcpassword your_own_password
NOTE: Replace your_own_node_key, your_own_username and your_own_password with your own info according to your configuration
For further support and questions, kindly email support@elastos.org
Disclaimers:
- All elected Supernodes must abide by the rules and standards outlined in the Elastos DPoS Supernode Election Process. As Elastos is a decentralized and distributed network system, and DPoS Supernodes are selected through an election via the network’s official wallet, Elastos Wallet, the Elastos Foundation is not responsible for the actions taken or views expressed by any elected Supernodes (operators or owners), nor is it responsible for setting up nodes or super nodes in any way, including but not limited to arranging mining pools, guaranteeing uninterrupted services, or compensating party losses that may arise throughout the staking process.
- This script serves as a simplified demo for Supernode configuration. Actual configurations may vary for Supernodes being set up in various operating environments.