Joining Testnet
You specify the network you want to join by setting the genesis file and seeds.
Testnet Chain ID | Description | Site | Version | Status |
---|---|---|---|---|
BlockX_12345-1 | BlockX_12345-1 Testnet | BlockX 12345-1 | v1.0 | Live |
Follow this installation document to install the BlockX binary
blockxd
.Make sure you have the right version of
blockxd
installed.We recommend saving the testnet
chain-id
into your blockxd
's client.toml
. This will make it so you do not have to manually pass in the chain-id
flag for every CLI command.blockxd config chain-id blockx_12345-1
We need to initialize the node to create all the necessary validator and node configuration files:
blockxd init <your_custom_moniker> --chain-id blockx_12345-1
Monikers can contain only ASCII characters. Using Unicode characters will render your node unreachable.
By default, the
init
command creates your ~/.blockxd
(i.e $HOME
) directory with subfolders config/
and data/
. In the config
directory, the most important files for configuration are app.toml
and config.toml
.Check the
genesis.json
file from the archive
and copy it over to the config
directory: ~/.blockxd/config/genesis.json
. This is a genesis file with the chain-id and genesis accounts balances.sudo apt install -y unzip wget
wget -P ~/.blockxd/config https://archive.blockx.dev/blockx_9000-4/genesis.json
Then verify the correctness of the genesis configuration file:
blockxd validate-genesis
Your node needs to know how to find peers. You'll need to add healthy seed nodes to
$HOME/.blockxd/config/config.toml
. The testnets
repo contains links to some seed nodes.Edit the file located in
~/.blockxd/config/config.toml
and the seeds
to the following:#######################################################
### P2P Configuration Options ###
#######################################################
[p2p]
# ...
# Comma separated list of seed nodes to connect to
seeds = "<node-id>@<ip>:<p2p port>"
You can use the following code to get seeds from the repo and add it to your config:
SEEDS=`curl -sL https://raw.githubusercontent.com/tharsis/testnets/main/blockx_9000-4/seeds.txt | awk '{print $1}' | paste -s -d, -`
sed -i.bak -e "s/^seeds =.*/seeds = \"$SEEDS\"/" ~/.blockxd/config/config.toml
We can set the
persistent_peers
field in ~/.blockxd/config/config.toml
to specify peers that your node will maintain persistent connections with. You can retrieve them from the list of available peers on the testnets
repo.A list of available persistent peers is also available in the
#find-peers
channel in the BlockX Discord. You can get a random 10 entries from the peers.txt
file in the PEERS
variable by running the following command:PEERS=`curl -sL https://raw.githubusercontent.com/tharsis/testnets/main/blockx_12345-1/peers.txt | sort -R | head -n 10 | awk '{print $1}' | paste -s -d, -`
Use
sed
to include them into the configuration. You can also add them manually:sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" ~/.blockxd/config/config.toml
Claim your testnet Block on the faucet using your validator account address and submit your validator account address:
blockxd tx staking create-validator \
--amount=1000000000000atblockx \
--pubkey=$(blockxd tendermint show-validator) \
--moniker="BlockXWhale" \
--chain-id=<chain_id> \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1000000" \
--gas="auto" \
--gas-prices="0.025atblockx" \
--from=<key_name>
The final step is to start the nodes. Once enough voting power (+2/3) from the genesis validators is up-and-running, the testnet will start producing blocks.
blockxd start
These instructions are for full nodes that have ran on previous versions of and would like to upgrade to the latest testnet version.
First, remove the outdated files and reset the data.
rm $HOME/.blockxd/config/addrbook.json $HOME/.blockxd/config/genesis.json
blockxd tendermint unsafe-reset-all --home $HOME/.blockxd
Your node is now in a pristine state while keeping the original
priv_validator.json
and config.toml
. If you had any sentry nodes or full nodes setup before, your node will still try to connect to them, but may fail if they haven't also been upgraded.Warning
Make sure that every node has a unique
priv_validator.json
. Do not copy the priv_validator.json
from an old node to multiple new nodes. Running two nodes with the same priv_validator.json
will cause you to double sign.To restart your node, just type:
blockxd start
To get your Node ID, use:
blockxd tendermint show-node-id
Last modified 7mo ago