Install Validator node​

Steps to join as a node to E Money Network

Once all servers as per the defined hardware and software requirements are setup. https://docs.emoney.network/validating-on-e-money-network

E Money client should be downloaded as per following steps. (E Money network officially supports macOS and Linux only).

  1. Install prerequisites go, make, gcc, etc. if not installed already.

export PATH=$PATH:$(go env GOPATH)/bin

$ go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest

  1. Remember to install prerequisites go, make, gcc, p7zip-full, etc. if not installed already.

Download E Money client from here:

curl -L -o emoneyd.zip ‘https://dxnzodmwa7rdj.cloudfront.net/MainNet_Binaries/emoneyd.zip’

unzip emoneyd.zip mv emoneyd go/bin/

Set your go binary path:

export PATH=$PATH:$(go env GOPATH)/bin

Check if emoneyd binary is active by using:

emoneyd

should give a list of all emoneyd commands.

This will install the emoneyd client on your node and ready to use.

Check if cosmovisor binary is active by using:

cosmovisor

should give a list of all cosmovisor commands.

This will install the cosmovisor client on your node and ready to use.

3. Now initialise the emoney client on your node by running the following command:

emoneyd init <your_custom_moniker> --chain-id emoney_4545-1

This will create a .emoneyd/ folder on your node's home directory. Check using ls -a.

4. Download the genesis file from the given link and place the genesis file in the path below on your node. The previously available genesis file in this folder should be replaced with the downloaded one.

Mainnet: curl -L -o genesis.zip 'https://dxnzodmwa7rdj.cloudfront.net/MainNet_Binaries/genesis.zip'

unzip genesis.zip mv genesis.json .emoneyd/config/ This will replace the genesis file with the network genesis file.

5. Run the following command to get node ids of the validators on each node:

emoneyd tendermint show-node-id

This will reveal the node-id like below:

25a4072268a2bd7411e9ba0b75c216e69c0d8d24

Adjust the peer id in the following format:

Node-id@Server Public IP:port number

e.g. 25a4072268a2bd7411e9ba0b75c216e69c0d8d24@110.10.10.2:26656

Peer id to configure with: 803aa2fb00ac3b7f9c69bc22e99320ca96b4a8bf@validator.emoney.network

Note: Port number will always be 26656 for tendermint services and should be open for public communications.

6. Goto each node and edit the config.toml file to update persistent_peers in P2P configurations:

perl -i -pe 's/persistent_peers = ""/persistent_peers = "803aa2fb00ac3b7f9c69bc22e99320ca96b4a8bf@validator.emoney.network

"/' ~/.emoneyd/config/config.toml

# Comma separated list of nodes to keep persistent connections to

persistent_peers = "803aa2fb00ac3b7f9c69bc22e99320ca96b4a8bf@validator.emoney.network"

Folder: .emoneyd/config/config.toml

Set source profile on server: nano ~/.profile (Paste following parameters) export DAEMON_NAME=emoneyd

export DAEMON_HOME=/home/ubuntu

export DAEMON_RESTART_AFTER_UPGRADE=true

export DAEMON_DATA_BACKUP_DIR=/home/ubuntu/data source ~/.profile Execute following commands to complete setup:

mkdir -p cosmovisor/genesis/bin

cp go/bin/emoneyd cosmovisor/genesis/bin/

chmod +x cosmovisor/genesis/bin/emoneyd

mkdir -p data

export DAEMON_DATA_BACKUP_DIR=/home/ubuntu/data

7. Run the start command with following arguments on your node: Pruning states:

There are four strategies for pruning state. These strategies apply only to state and do not apply to block storage. To set pruning, adjust the pruning parameter in the ~/.emoneyd/config/app.toml file. The following pruning state settings are available:

  1. everything: Prune all saved states other than the current state.

  2. nothing: Save all states and delete nothing.

  3. default: Save the last 100 states and the state of every 10,000th block.

  4. custom: Specify pruning settings with the pruning-keep-recent, pruning-keep-every, and pruning-interval parameters.

By default, every node is in default mode which is the recommended setting for most environments. If you would like to change your nodes pruning strategy then you must do so when the node is initialized. Passing a flag when starting emoneyd will always override settings in the app.toml file, if you would like to change your node to the everything mode then you can pass the --pruning everything flag when you call emoneyd start.

  1. Run your node as Full Node Full nodes store all the blockchain's data and participate in block validation. Validating the blockchain includes keeping track of new blocks and computing and maintaining state changes. Full nodes, once fully synced with the network, can query all EMoney network blockchain data. To start an E Money network Full node execute following start command on your node terminal: cosmovisor run start --pruning=nothing --log_level INFO --api.enable --json-rpc.api eth,txpool,personal,net,debug,web3 &

  2. Run your node as Light Node

cosmovisor run start --log_level INFO --api.enable --json-rpc.api eth,txpool,personal,net,debug,web3 & Note: Check different modes and settings to run the node using the following command for complete documentation on your terminal. emoneyd start -h

This will start the block minting and peer syncing process on your node and should be able to see block height increasing/syncing with peer nodes.

Last updated