Mainnet pre-genesis validator setup
Initialize your repository
To initialize your repository, run
where moniker is any name you would like to give your validator.
Loading in keys
Before creating a validator, you must add a key to your keyring.
New validators can create their keys by running
If you have an existing key, you can load in your sscd
key by passing in the --recover
flag to the command above.
For details on how to manage keys on SSC, please see the key management section of these docs.
Ensure that your validator key is added to sscd
by typing
This should print out some output like this:
Provide your key address (starts with saga
) to the Saga Support Team and wait for further instructions before proceeding.
Gentx setup
Once the Saga team has collected the addresses for the initial validator set, we will publicize the mainnet
repository with the relevant genesis file. Once this has been done, you should be able to continue with these steps.
Creating a validator genesis transaction
When joining a network as a genesis validator, we need to collect the genesis transaction a.k.a. gentx,
from each validator.
What you will need to create the genesis transaction:
The
genesis.json
file provided by the Saga team. Copy the genesis file provided by the Saga team to yoursscd
config directory. The following command does this:
The account-number, associated with your key, from the genesis file
genesis.json
(see the image below for reference)

You can find <your-validator-address>
running sscd keys show -a <your-validator-key-name>
Then you can run this command to find your account number:
A public IP address for your node where your validator can be accessed
It is important to ensure that the IP address you use when creating the genesis transaction is a publicly accessible IP address, and is the same IP address you will be exposing for your node.
Now, you are ready to create the gentx
or the genesis transaction.
Create the genesis transaction using the
sscd
daemon:This should create a
gentx-*.json
file under your~/.ssc/config/gentx/
folder on your machine. Verify that this file exists.Create a new branch in the mainnet-1 repository.
Add your
gentx
file to the <gentx folder of public mainnet> folder, commit it to the repo and then push your branch to the SSC public mainnet repository in Github.Create a PR to merge your branch into
main
branch.
Make sure to back up your ~/.ssc/config/priv_validator_key.json
file!
The gentx
will be processed by the team and a new genesis file will be created prior to the actual network launch. This updated genesis file will also be provided to you.
Last updated