Skip to content
All services

Testnet

SEDA

Chain ID
Version
Go

For Ubuntu 22.04 or later. The node listens on ports starting with your port prefix (e.g. 26657 becomes 13657), so several nodes can share a server.

  1. 01Install tools

    sudo apt update && sudo apt upgrade -y
    sudo apt install -y curl git wget jq make gcc build-essential lz4 zstd tmux htop unzip
  2. 02Install Go

    cd $HOME
    VER="<go-version>"
    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"
    [ ! -f $HOME/.bash_profile ] && touch $HOME/.bash_profile
    echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile
    source $HOME/.bash_profile
    mkdir -p $HOME/go/bin
    go version
  3. 03Build the binary

    cd $HOME
    rm -rf seda-chain
    git clone https://github.com/sedaprotocol/seda-chain.git seda-chain
    cd seda-chain
    git checkout <version>
    make install
    sedad version --long | grep -E '^(version|commit):'
  4. 04Install Cosmovisor

    go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
    DAEMON_HOME=$HOME/.sedad DAEMON_NAME=sedad cosmovisor init $HOME/go/bin/sedad
  5. 05Create the service

    sudo tee /etc/systemd/system/sedad.service > /dev/null << EOF
    [Unit]
    Description=SEDA node
    After=network-online.target
    
    [Service]
    User=$USER
    ExecStart=$(which cosmovisor) run start
    WorkingDirectory=$HOME/.sedad
    Restart=on-failure
    RestartSec=10
    LimitNOFILE=65535
    Environment="DAEMON_HOME=$HOME/.sedad"
    Environment="DAEMON_NAME=sedad"
    Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
    Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
    Environment="UNSAFE_SKIP_BACKUP=true"
    Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$HOME/.sedad/cosmovisor/current/bin"
    
    [Install]
    WantedBy=multi-user.target
    EOF
    sudo systemctl daemon-reload
    sudo systemctl enable sedad
  6. 06Set variables

    echo 'export WALLET="wallet"' >> $HOME/.bash_profile
    echo 'export MONIKER="Your-Moniker"' >> $HOME/.bash_profile
    echo 'export SEDA_CHAIN_ID="<chain-id>"' >> $HOME/.bash_profile
    echo 'export SEDA_PORT="13"' >> $HOME/.bash_profile
    source $HOME/.bash_profile
  7. 07Initialize the node

    sedad init "$MONIKER" --chain-id $SEDA_CHAIN_ID --home $HOME/.sedad
    sedad config set client chain-id $SEDA_CHAIN_ID
    sedad config set client keyring-backend os
    sedad config set client node tcp://localhost:$SEDA_PORT657
  8. 08Custom ports

    sed -i.bak -e "s%:1317%:$SEDA_PORT317%g;
    s%:8080%:$SEDA_PORT080%g;
    s%:9090%:$SEDA_PORT090%g;
    s%:9091%:$SEDA_PORT091%g;
    s%:8545%:$SEDA_PORT545%g;
    s%:8546%:$SEDA_PORT546%g" $HOME/.sedad/config/app.toml
    sed -i.bak -e "s%:26658%:$SEDA_PORT658%g;
    s%:26657%:$SEDA_PORT657%g;
    s%:6060%:$SEDA_PORT060%g;
    s%:26656%:$SEDA_PORT656%g;
    s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):$SEDA_PORT656\"%;
    s%:26660%:$SEDA_PORT660%g" $HOME/.sedad/config/config.toml
  9. 09Genesis and addrbook

    curl -Ls https://seda-testnet-services.luckystar.asia/sedatest/genesis.json > $HOME/.sedad/config/genesis.json
    curl -Ls https://seda-testnet-services.luckystar.asia/sedatest/addrbook.json > $HOME/.sedad/config/addrbook.json
  10. 10Minimum gas price

    sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"10000000000aseda\"|" $HOME/.sedad/config/app.toml
  11. 11Pruning

    sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.sedad/config/app.toml
    sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.sedad/config/app.toml
    sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"19\"/" $HOME/.sedad/config/app.toml
  12. 12Disable the indexer

    sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.sedad/config/config.toml
  13. 13Download the snapshot

    curl -L https://seda-testnet-services.luckystar.asia/sedatest/seda-1-testnet_latest.tar.lz4 | lz4 -dc | tar -xf - -C $HOME/.sedad/data
    mkdir -p $HOME/.sedad/wasm
    curl -L https://seda-testnet-services.luckystar.asia/sedatest/wasm_seda-1-testnet_latest.tar.lz4 | lz4 -dc | tar -xf - -C $HOME/.sedad/wasm
  14. 14Start the node

    sudo systemctl restart sedad && sudo journalctl -fu sedad -o cat
  15. 15Check sync

    curl -s localhost:$SEDA_PORT657/status | jq .result.sync_info
Original guide (GitBook)