The codebase of the validator is NOT public at this moment. Details regarding the validator role will be released later on. Please stay tuned and thanks for your attention.
By following these steps, you should be able to successfully set up and start a Nubit Validator. If you encounter any issues, please provide detailed information, and further assistance will be provided.
Install the Validator
Download multiple repositories from the RiemaLabs GitHub into the nubit-da directory.
Note: When using git clone, you may need to temporarily comment out the UseKeychain fields in your ~/.ssh/config file. Specifically, comment out # IgnoreUnknown UseKeychain and # UseKeychain yes .
In the cloned repository directory, run the following command to install the nubit-validator CLI:
makeinstall
Initialize the Validator
Set the environment variable and initialize the validator with the following commands:
Note: You can customize the VALIDATOR_NAME as desired.
export NUBIT_VALIDATOR_HOME="$HOME/.nubit-validator"echo $NUBIT_VALIDATOR_HOMErm-rf $NUBIT_VALIDATOR_HOMEVALIDATOR_NAME=nubit# Replace VALIDATOR_NAME with your desired oneCHAIN_ID=nubit-alphatestnet-1nubit-validatordinit $VALIDATOR_NAME --chain-id $CHAIN_ID
This command will create the necessary configuration files and directories, including .nubit-validator/config/ with an initial genesis.json file.
Setup the Validator
Replace the genesis.json File
To replace the initial genesis.json file with the new one which suits the Nubit DA Alpha Testnet, please save this new genesis.json file to your home directory (or any other temporary location) and then use the following command to replace the initial genesis.json file:
cp~/genesis.json $NUBIT_VALIDATOR_HOME/config/genesis.json# Replace ~/genesis.json with the actual file location
Modify the config.toml File
Edit the config.toml file to change the indexer setting:
Note: A new nubit address named my_wallet will be automatically created along with its MNEMONIC. Please make sure to save the MNEMONIC as it will only appear once securely.
Set Environment Variables
Set the necessary environment variables by the following commands:
6:20PM INF service start impl="Peer{MConn{44.236.43.189:26656} 97d2260cb63873183943e331c6986ce4a63d8796 out}" module=p2p msg={} peer={"id":"97d2260cb63873183943e331c6986ce4a63d8796","ip":"44.236.43.189","port":26656}
6:20PM INF service start impl=MConn{44.236.43.189:26656} module=p2p msg={} peer={"id":"97d2260cb63873183943e331c6986ce4a63d8796","ip":"44.236.43.189","port":26656}
6:20PM INF service start impl="Peer{MConn{35.82.227.214:26656} 77862897002df6adb65b81b64319116423186ccf out}" module=p2p msg={} peer={"id":"77862897002df6adb65b81b64319116423186ccf","ip":"35.82.227.214","port":26656}
6:20PM INF service start impl=MConn{35.82.227.214:26656} module=p2p msg={} peer={"id":"77862897002df6adb65b81b64319116423186ccf","ip":"35.82.227.214","port":26656}
6:20PMINFapp:startProcessProposalheight=1proposer=40F0D18D0454EF72DADBE564962E88EFEC3C148E6:20PMINFexecutedblockheight=1module=statenum_invalid_txs=1num_valid_txs=06:20PM INF committed state app_hash=098724484DBF0E9BB9208D467B65541C6310A2ACF5A78C03A5D2175D9D79FC85 height=1 module=state num_txs=1
6:20PMINFapp:startProcessProposalheight=2proposer=83592AD6A18494E38970AC673E150A986B717C356:20PMINFindexedblockexentsheight=1module=txindex6:20PMINFmintedcoinsfrommoduleaccountamount=350587034956unubfrom=mintmodule=x/bank6:20PMINFexecutedblockheight=2module=statenum_invalid_txs=1num_valid_txs=06:20PM INF committed state app_hash=5D57E8E05952DB21CFCB85B40902ED3D170DE358D6901961AF6FEC2A54EC15D5 height=2 module=state num_txs=1
6:20PMINFapp:startProcessProposalheight=3proposer=9D40034936981454FC48AA642304E6A7A69D0D206:20PMINFindexedblockexentsheight=2module=txindex6:20PMINFmintedcoinsfrommoduleaccountamount=2963430686unubfrom=mintmodule=x/bank6:20PMINFexecutedblockheight=3module=statenum_invalid_txs=1num_valid_txs=06:20PM INF committed state app_hash=A6AA34EE9BF40674B655BAB3B12379D33C12D3AFADA911371F7596A81E91CB2F height=3 module=state num_txs=1
6:20PMINFindexedblockexentsheight=3module=txindex
This response indicates that the validator is running successfully. It shows the continuous process of validating and committing blocks, minting coins, and processing transactions.
When running the validator node, you can check your validator's status information using the following command: