To set up a validator node for the SEDA protocol, here’s a detailed guide to help you get started.
Ensure you have the necessary dependencies:
- Go (version 1.20+)
- Build essentials like
gcc
,make
,jq
, etc.
Install Go:
wget https://golang.org/dl/go1.20.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.20.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
Clone the SEDA repository and build the binary:
git clone https://github.com/sedaprotocol/seda-core
cd seda-core
make install
Check if sedad
is installed correctly:
sedad version
Initialize your node by setting a moniker:
sedad init <your-moniker> --chain-id seda-testnet
Download the configuration files and place them in the appropriate directory:
curl -s https://raw.githubusercontent.com/sedaprotocol/testnet/master/genesis.json > ~/.sedad/config/genesis.json
sed -i.bak 's/seeds = ""/seeds = "<seeds-from-github-page>"/' ~/.sedad/config/config.toml
To start your node, use the following command:
sedad start
You can monitor your node’s synchronization status:
curl -s localhost:26657/status | jq .result.sync_info
Once your node is fully synced (check catching_up: false
), you can create a validator.
First, generate a validator key:
sedad keys add <validator-key>
Then, create the validator.json
file with your validator information:
{
"pubkey": "$(sedad tendermint show-validator)",
"amount": "100000000000000aseda",
"moniker": "<your-moniker>",
"identity": "<optional-identity>",
"website": "<optional-website>",
"commission-rate": "0.1",
"commission-max-rate": "0.2",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}
Create your validator by submitting the transaction:
sedad tx staking create-validator --amount="100000000000000aseda" --pubkey=$(sedad tendermint show-validator) --moniker="<your-moniker>" --chain-id seda-testnet --from <validator-key> --fees 5000aseda
For automatic upgrades using Cosmovisor, install it:
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
Add Cosmovisor to your environment:
echo "export DAEMON_NAME=sedad" >> ~/.profile
echo "export DAEMON_HOME=$HOME/.sedad" >> ~/.profile
source ~/.profile
Now, initialize Cosmovisor:
cosmovisor init sedad
To find your validator operator address:
sedad keys show <validator-key> --bech val -a
This is the address others can use to delegate tokens to your validator.
For more information, check out the SEDA documentation.