dnode is a blockchain node of dfinance platform. dnode implements core functional of dfinance: reach consensus, securing chain with PoS, processing transactions, p2p connections, etc.
You can find dnode source code in dnode Github repository.
There are multiple ways of running your dnode. We've sorted them from easiest to more complicated.
Pre-built docker image is available on Docker Hub: here's the link. It already includes binary file for dnode so if you feel like it - go on - try it yourself.
You can build dnode from source, to do so fetch and build dnode from Github repository.
After that you need to:
Install dvm from dvm repository.
Launch dvm with recommended port setting (or configure your own ports in both dnode and dvm).
First of all init your local dnode with moniker (name) of your node:
dnode init <moniker>
After that download testnet version of
# remove default genesis created on initrm ~/.dnode/config/genesis.json# this solution requires 'jq' util to be installedcurl rpc.testnet.dfinance.co:26657/genesis | jq '.result.genesis' > ~/.dnode/config/genesis.json
Now let's get testnet seed node address:
# this solution requires 'jq' util to be installedcurl rpc.testnet.dfinance.co:26657/genesis | jq -r '.result.genesis.app_state.genutil.gentxs.value | select(.msg.value.description.moniker == "bootnode") | try(.memo |= split("@")) | .memo + "@rpc.testnet.dfinance.co:26656"'
Previous command prints testnet seed node address.
Now replace seeds in (~/.dnode/config.toml):
persistent_peers = "put seed address here" # e.g. "firstname.lastname@example.org:26656"
More detailed instruction on how to build
dnode from sources can be found in dnode repository. If want some more space for experiments you can also use
dnode to launch your own local testnet.