84 lines
2.3 KiB
ReStructuredText
84 lines
2.3 KiB
ReStructuredText
Local Testnet
|
|
=============
|
|
|
|
This tutorial demonstrates the basics of setting up a gaia
|
|
testnet locally.
|
|
|
|
If you haven't already made a key, make one now:
|
|
|
|
::
|
|
|
|
gaia client keys new alice
|
|
|
|
otherwise, use an existing key.
|
|
|
|
Initialize The Chain
|
|
--------------------
|
|
|
|
Now initialize a gaia chain, using ``alice``'s address:
|
|
|
|
::
|
|
|
|
gaia node init 5D93A6059B6592833CBC8FA3DA90EE0382198985 --home=$HOME/.gaia1 --chain-id=gaia-test
|
|
|
|
This will create all the files necessary to run a single node chain in
|
|
``$HOME/.gaia1``: a ``priv_validator.json`` file with the validators
|
|
private key, and a ``genesis.json`` file with the list of validators and
|
|
accounts.
|
|
|
|
We'll add a second node on our local machine by initiating a node in a
|
|
new directory, with the same address, and copying in the genesis:
|
|
|
|
::
|
|
|
|
gaia node init 5D93A6059B6592833CBC8FA3DA90EE0382198985 --home=$HOME/.gaia2 --chain-id=gaia-test
|
|
cp $HOME/.gaia1/genesis.json $HOME/.gaia2/genesis.json
|
|
|
|
We also need to modify ``$HOME/.gaia2/config.toml`` to set new seeds
|
|
and ports. It should look like:
|
|
|
|
::
|
|
|
|
proxy_app = "tcp://127.0.0.1:46668"
|
|
moniker = "anonymous"
|
|
fast_sync = true
|
|
db_backend = "leveldb"
|
|
log_level = "state:info,*:error"
|
|
|
|
[rpc]
|
|
laddr = "tcp://0.0.0.0:46667"
|
|
|
|
[p2p]
|
|
laddr = "tcp://0.0.0.0:46666"
|
|
seeds = "0.0.0.0:46656"
|
|
|
|
Start Nodes
|
|
-----------
|
|
|
|
Now that we've initialized the chains, we can start both nodes:
|
|
|
|
NOTE: each command below must be started in seperate terminal windows. Alternatively, to run this testnet across multiple machines, you'd replace the ``seeds = "0.0.0.0"`` in ``~/.gaia2.config.toml`` with the IP of the first node, and could skip the modifications we made to the config file above because port conflicts would be avoided.
|
|
|
|
::
|
|
|
|
gaia node start --home=$HOME/.gaia1
|
|
gaia node start --home=$HOME/.gaia2
|
|
|
|
Now we can initialize a client for the first node, and look up our
|
|
account:
|
|
|
|
::
|
|
|
|
gaia client init --chain-id=gaia-test --node=tcp://localhost:46657
|
|
gaia client query account 5D93A6059B6592833CBC8FA3DA90EE0382198985
|
|
|
|
To see what tendermint considers the validator set is, use:
|
|
|
|
::
|
|
|
|
curl localhost:46657/validators
|
|
|
|
and compare the information in this file: ``~/.gaia1/priv_validator.json``. The ``address`` and ``pub_key`` fields should match.
|
|
|
|
To add a second validator on your testnet, you'll need to bond some tokens be declaring candidacy.
|