March 14, 2023
Launching the Kyve node in the main network!!
minimum recommended hardware configuration :
sudo apt update && sudo apt upgrade -y
install the necessary utilities:
sudo apt install curl build-essential git wget jq make gcc tmux chrony -y
specify the name of your validator, which will be visible in the explorer:
NODENAME=<NAME_VALIDATOR>
saving and importing variables :
echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile if [ ! $WALLET ]; then echo "export WALLET=wallet" >> $HOME/.bash_profile fi echo "export KYVE_CHAIN_ID=kyve-1" >> $HOME/.bash_profile source $HOME/.bash_profile
ver="1.19.1" && \ wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \ sudo rm -rf /usr/local/go && \ sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \ rm "go$ver.linux-amd64.tar.gz" && \ echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \ source $HOME/.bash_profile && \ go version
clone and assemble the binary file:
wget https://github.com/KYVENetwork/chain/releases/download/v1.4.0/kyved_mainnet_linux_amd64.tar.gz tar -xvzf kyved_mainnet_linux_amd64.tar.gz sudo chmod +x kyved && sudo mv ./kyved /usr/local/bin/kyved sudo rm -rf kyved_mainnet_linux_amd64.tar.gz
kyved init $NODENAME --chain-id $KYVE_CHAIN_ID
curl https://raw.githubusercontent.com/KYVENetwork/networks/main/kyve-1/genesis.json > ~/.kyve/config/genesis.json
SEEDS="" PEERS="[email protected]:29656,[email protected]:20656,[email protected]:42656,[email protected]:39656,[email protected]:31305,[email protected]:37656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656"; \ sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.kyve/config/config.toml
pruning="custom" pruning_keep_recent="100" pruning_keep_every="0" pruning_interval="10" sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.kyve/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.kyve/config/app.toml sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.kyve/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.kyve/config/app.toml
sed -i 's/minimum-gas-prices = "0ukyve"/minimum-gas-prices = "0.0001ukyve"/g' $HOME/.kyve/config/app.toml
if necessary, disable indexing (indexer = "null"):
cd ~
nano $HOME/.kyve/config/config.toml
ctrl O, enter, ctrrl X
kyved tendermint unsafe-reset-all --home $HOME/.kyve
sudo tee /etc/systemd/system/kyved.service > /dev/null <<EOF [Unit] Description=kyve After=network-online.target [Service] User=$USER ExecStart=/usr/local/bin/kyved start Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload sudo systemctl enable kyved sudo systemctl restart kyved && sudo journalctl -u kyved -f -o cat
after the synchronization is complete, load the variables into the system:
source $HOME/.bash_profile
creating or restoring a wallet:
kyved keys add $WALLET
kyved keys add $WALLET --recover
we save the information, enter the commands in turn, enter your password in 1 and 2:
KYVE_WALLET_ADDRESS=$(kyved keys show $WALLET -a) KYVE_VALOPER_ADDRESS=$(kyved keys show $WALLET --bech val -a) echo 'export KYVE_WALLET_ADDRESS='${KYVE_WALLET_ADDRESS} >> $HOME/.bash_profile echo 'export KYVE_VALOPER_ADDRESS='${KYVE_VALOPER_ADDRESS} >> $HOME/.bash_profile source $HOME/.bash_profile
kyved tx staking create-validator \ --amount 10000000ukyve \ --from $WALLET \ --commission-max-change-rate "0.01" \ --commission-max-rate "0.2" \ --commission-rate "0.05" \ --min-self-delegation "1" \ --pubkey $(kyved tendermint show-validator) \ --moniker $NODENAME \ --identity=__ \ --website="__" \ --details="__" \ --chain-id $KYVE_CHAIN_ID \ --fees=1100000ukyve \ --gas=auto -y
sudo systemctl stop kyved sudo systemctl disable kyved sudo rm /etc/systemd/system/kyve* -rf sudo rm $(which kyved) -rf sudo rm $HOME/.kyve* -rf sudo rm $HOME/kyve -rf sed -i '/KYVE_/d' ~/.bash_profile