Nodes
Node Operators

Sei Node Setup

System Requirements

CPU CoresRAMDisk
16 cores64GB1TB NVMe

Build Version and Genesis Table

NetworkVersionChain IDGenesis URL
Mainnetpacific-1Genesis
Testnetatlantic-2Genesis
Devnetarctic-1Genesis

Getting Started

The following instructions are for Debian-based systems. Other operating systems like macOS or Arch will use a slightly different procedure.

Update and Upgrade System Packages

sudo apt update && sudo apt upgrade -y

Install Dependencies

sudo apt install nano make build-essential gcc git jq chrony tar curl lz4 wget -y

Install Golang

  1. Remove old Go version if necessary:
sudo rm -rvf /usr/local/go/
  1. Install Golang:
wget https://go.dev/dl/go1.21.1.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.1.linux-amd64.tar.gz
rm go1.21.1.linux-amd64.tar.gz
  1. Configure PATH and GOPATH (add to ~/.profile or ~/.bashrc to make persistent):
echo 'export GOROOT=/usr/local/go' >> ~/.profile
echo 'export GOPATH=$HOME/go' >> ~/.profile
echo 'export GO111MODULE=on' >> ~/.profile
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.profile
source ~/.profile

Install seid

  1. Define the variables for your network and (optional) moniker:
VERSION=v1.2.3
CHAIN_ID=pacific-1
GENESIS_URL=https://raw.githubusercontent.com/sei-protocol/testnet/main/pacific-1/genesis.json
MONIKER="your_node_name"
  1. Clone the repository and install:
cd ~/ && git clone https://github.com/sei-protocol/sei-chain.git
cd sei-chain
git checkout $VERSION
make install

Initialize Node

  1. Initialize the node:
seid init $MONIKER --chain-id $CHAIN_ID
  1. Download and place genesis file:
wget -O $HOME/.sei/config/genesis.json $GENESIS_URL

Configure Node

  1. Enable sei-db:
sed -i 's/^sc-enable[[:space:]]*=.*$/sc-enable = true/; s/^ss-enable[[:space:]]*=.*$/ss-enable = true/' $HOME/.sei/config/app.toml
  1. Run the state sync script:
chmod +x $HOME/sei-chain/scripts/state_sync.sh
$HOME/sei-chain/scripts/state_sync.sh
  1. Create Systemd Service File:
sudo tee /etc/systemd/system/seid.service > /dev/null << EOF
[Unit]
Description=Sei Daemon
After=network-online.target
 
[Service]
User=$USER
ExecStart=$(which seid) start
Restart=always
RestartSec=3
LimitNOFILE=65535
 
[Install]
WantedBy=multi-user.target
EOF
  1. Start the node:
sudo systemctl daemon-reload
sudo systemctl enable seid
sudo systemctl start seid
  1. Verify that the state sync is progressing:
sudo journalctl -u seid -f -o cat

Appendix

Default Service Ports

The standard service ports can be configured in $HOME/.sei/config/config.toml and $HOME/.sei/config/app.toml:

  • P2P: 26656
  • RPC: 26657
  • REST: 1317
  • GRPC: 9090
  • EVM RPC: 8545
  • EVM Websocket: 8546
  • Tendermint Prometheus Metrics Exporter: 26660

The standard websocket uses the same connection as the RPC server. Example: ws://localhost:26657/websocket (non-TLS).