# 3-Node Docker DevNet
Whenever you use
und to send Txs or query the chain ensure you pass the correct data to the
and if necessary
--node= flags so that you connect to the correct network!
The repository contains a ready to deploy Docker composition for local development and testing. The Docker composition
will spin up a DevNet using the current checked out branch's code to build and run the
# Getting DevNet
Check out the
git clone https://github.com/unification-com/mainchain cd mainchain
# Spinning up DevNet
DevNet can be started by using the
To bring DevNet down cleanly, use Ctrl+C, followed by:
# DevNet Chain ID
DevNet's Chain ID is
intended for DevNet should use the flag
# DevNet RPC Nodes
und will attempt to broadcast transactions to tcp://localhost:26656. However, any of the DevNet
nodes can be used to send transactions via
und using the
--node= flag, for example:
und query tx TX_HASH --chain-id FUND-DevNet-2 --node=tcp://172.25.0.3:26661
See below for each node's RPC IPs and Ports.
# DevNet Docker containers
The DevNet composition will spin up three full validator nodes and a proxy server in the following Docker containers:
dn_node1- Full validation node, RPC on 172.25.0.3:26661, P2P on 172.25.0.3:26651
dn_node2- Full validation node, RPC on 172.25.0.4:26662, P2P on 172.25.0.4:26652
dn_node3- Full validation node, RPC on 172.25.0.5:26663, P2P on 172.25.0.5:26653
proxy- a small proxy server allowing CORS queries to the
dn_node1REST API via 172.25.0.7:1318
The RPC interface is available via
dn_node1 on port
26661, and non-CORS REST on port
The DevNet nodes:
P2P ports set to 26651, 26652 and 26653 respectively, and not the default 26656.
RPC ports set to 26661, 26662 and 26663 respectively, and not the default 26657.
# DevNet test accounts, wallets and keys
DevNet is deployed with a pre-defined genesis.json (opens new window), containing several test accounts loaded with FUND and pre-defined validators with self delegation.
See https://github.com/unification-com/mainchain/blob/master/Docker/README.md (opens new window) for the mnemonic phrases and keys used by the above nodes, and for test accounts included in DevNet's genesis.
# Importing the DevNet keys
The DevNet accounts can be imported as follows. First, build the
Then, for each account run the following command:
./build/und keys add devnet_node1 --recover
You will be prompted to enter the mnemonic phrase, and a password for your OS's keyring. Change
devnet_node1 to an
appropriate moniker for each imported account.
# Useful DevNet Defaults for
und defaults for DevNet can be set as follows. This will set the corresponding values in
und config chain-id FUND-DevNet-2 und config node tcp://localhost:26661
# REST API Endpoints
With DevNet up, the REST API endpoints can be seen via http://localhost:1317/swagger/ (opens new window)
Creating and importing accounts and wallets, sending transactions