The primary point of communication for the genesis process will be the #genesis-mainnet channel on the Dymension Discord. Selected validators may participate in the genesis event of Mainnet. It is absolutely critical that you and your team join the Discord during launch, as it will be the coordination point in case of any hiccups or issues during the launch process. The channel is private by default in order to keep it free of spam and unnecessary noise.
After Gentxs are collected we will provide a pre-genesis.json file for review. As long as there are no recommended changes we will provide the Genesis file with the genesis time in Part 2 after the collection of Gentxs.
Recommended minimum hardware requirements:
- 4 or more physical CPU cores
- At least 200GB of SSD disk storage
- At least 8GB of memory
- At least 100mbps network bandwidth
These instructions are for creating a basic setup of a single node. Validators should modify these instructions for their own custom setups as needed (i.e. sentry nodes, tmkms, etc).
Prerequisites: Make sure to have Golang >=1.18. You need to ensure your GOPATH configuration is correct.
git clone https://github.com/dymensionxyz/dymension.git --branch v3.0.0
cd dymension
make install
This will install dymd
binary into $GOBIN
. Check that you have the right Dymension version installed:
dymd version --long
Returns:
name: dymension
server_name: dymd
version: v3.0.0
commit: c3294dc8d2dce1aa8efbc967b1dfd3b0e965b095
We recommend saving the testnet chain-id into your Dymension client.toml. This will make it so you do not have to manually pass in the chain-id flag for every CLI command.
dymd config chain-id dymension_1100-1
- Initialize the Dymension directories and create a local genesis file with the correct chain-id. You will be asked to replace the temporary Genesis file with the finalized Genesis file once all participating validators submit their Gentx.
dymd init <NODE_NAME> --chain-id=dymension_1100-1
- Create a key pair:
dymd keys add <KEY_NAME>
- Add your account to the genesis file with the given amount and the key you just created. Use amounts allocated to your delegator address. Please note
dymension_1100-1
utilizes a base denom ofadym
with 18 decimal places.
dymd add-genesis-account <ADDRESS> <BALANCE>adym
- Create the Gentx. The
dymd gentx -h
command will provide helpful flags to configure your validator node. The only required flags are chain-id and amount of self-delegated adym. Use up to the allocated amounts to your delegator address:
dymd gentx <KEY_NAME> --chain-id=dymension_1100-1 <BALANCE>adym
If all goes well, you will see a message similar to the following:
Genesis transaction written to "/home/user/.dymension/config/gentx/gentx-******.json"
-
Rename the Gentx file to gentx-{your-moniker}.json (please do not have any spaces or special characters in the file name).
-
Fork the networks repo into your GitHub account
-
Clone your repo using:
git clone https://github.com/<your-github-username>/networks
- Copy the generated gentx json file to
/dymension/gentx/
:
cd /mainnet/dymension
cp ~/.dymension/config/gentx/gentx*.json ./gentx/
- Commit and push to your repo:
git add .
git commit -m "<your validator moniker> gentx"
git push origin main
- Create a PR to https://github.com/dymensionxyz/networks
For a demonstration of a step-by-step guide to creating a PR please follow the GitHub documentation or watch this helpful youtube video.
Please DM Ganeshti#1471 on Dymension's discord with a link of the GitHub PR. Only PRs from selected validators will be accepted. Validators must submit their PRs prior to the deadline submission date.
The Dymension core team will provide Part 2 instructions for replacing the genesis.json after collecting Gentxs. Please follow on-going communication on Discord and reach out to the Dymension core team whenever you have any questions.
Welcome to Part 2 of the Genesis Event of Dymension. We recommend reviewing What is a Genesis File?
here. Below you will find the source of the genesis file which includes validator gentx provided in Part 1. Follow these instructions to download the genesis file, validate, and prepare for launching the Mainnet!
Genesis File
cp genesis.json ~/.dymension/config/genesis.json
Genesis sha256
sha256sum ~/.dymension/config/genesis.json
c25f362084db5c1480aaee93bfcb97c5328cabeda94f11ddcc74a8e183838491 ~/.dymension/config/genesis.json
Validate the Genesis file
dymd validate-genesis
dymd start
Once 2/3rd of staked tokens are online after genesis time the blockchain has begun!