Operate
Technical Reference

Sei Technical Reference Guide

This guide serves as a comprehensive reference for Sei node operators and validators, providing detailed command syntax, configuration parameters, and troubleshooting procedures. For API documentation, please refer to our API Documentation section.

Command Line Interface Reference

The seid binary provides extensive functionality for managing your Sei node. Understanding these commands is essential for effective node operation and troubleshooting.

Node Management Commands

These commands help you control and monitor your node's operation:

# Start the node
seid start [flags]
 
# Show node status
seid status
 
# Show validator consensus key
seid tendermint show-validator
 
# Query node information
seid query node info

Key Management

Proper key management is crucial for security. These commands help you manage your keys effectively:

# Create new key
seid keys add <name> [flags]
 
# List all keys
seid keys list
 
# Delete key
seid keys delete <name>
 
# Export key (encrypted)
seid keys export <name>
 
# Import key
seid keys import <name> <keyfile>
 
# Show key address
seid keys show <name> -a

Transaction Commands

These commands allow you to interact with the blockchain:

# Send tokens
seid tx bank send <from-key> <to-address> <amount>usei [flags]
 
# Delegate tokens
seid tx staking delegate <validator-addr> <amount>usei --from <delegator-key>
 
# Withdraw rewards
seid tx distribution withdraw-rewards <validator-addr> --from <delegator-key>
 
# Edit validator
seid tx staking edit-validator [flags] --from <validator-key>

Configuration Parameters

Understanding configuration parameters is essential for optimizing your node's performance and security.

App.toml Parameters

The app.toml file controls application-specific settings:

Complete app.toml Configuration
# Minimum gas prices for transaction acceptance
minimum-gas-prices = "0.01usei"
 
# API configuration
[api]
enable = true
swagger = true
address = "tcp://0.0.0.0:1317"
max-open-connections = 1000
 
# State sync configuration
[state-sync]
snapshot-interval = 1000
snapshot-keep-recent = 2
 
# Memory management
[mempool]
size = 5000
max-txs-bytes = 1073741824
cache-size = 10000
 
# State store configuration
[state-store]
ss-enable = true
ss-backend = "pebbledb"
ss-keep-recent = 100000
ss-prune-interval = 600

Config.toml Parameters

The config.toml file controls the core consensus engine and networking:

Complete config.toml Configuration
# P2P Configuration
[p2p]
laddr = "tcp://0.0.0.0:26656"
external_address = ""
seeds = ""
persistent_peers = ""
upnp = false
max_num_inbound_peers = 40
max_num_outbound_peers = 10
allowed_pools = ""
max_packet_msg_payload_size = 10240
handshake_timeout = "20s"
dial_timeout = "3s"
 
# RPC Configuration
[rpc]
laddr = "tcp://0.0.0.0:26657"
cors_allowed_origins = []
cors_allowed_methods = ["HEAD", "GET", "POST"]
cors_allowed_headers = ["Origin", "Accept", "Content-Type", "X-Requested-With", "X-Server-Time"]
max_open_connections = 900
timeout_broadcast_tx_commit = "10s"
 
# Consensus Configuration
[consensus]
wal_file = "data/cs.wal/wal"
timeout_propose = "3s"
timeout_propose_delta = "500ms"
timeout_prevote = "1s"
timeout_prevote_delta = "500ms"
timeout_precommit = "1s"
timeout_precommit_delta = "500ms"
timeout_commit = "1s"
double_sign_check_height = 0

Error Codes and Troubleshooting

Understanding common errors and their solutions helps maintain a healthy node operation.

Common Error Codes

Here are the most frequent errors you might encounter and their solutions:

Consensus Errors

When you encounter consensus errors, quick and appropriate action is essential:

Error: "Consensus failure - height halted"
Solution: Check for network upgrades or chain halts
Command: seid status | jq .sync_info

Error: "Private validator file not found"
Solution: Restore validator key or check file permissions
Location: ~/.sei/config/priv_validator_key.json

Error: "Duplicate signature"
Solution: IMMEDIATELY STOP NODE - potential double signing risk
Action: Check validator operation on other machines

Network Errors

Network errors can prevent your node from participating in consensus:

Error: "Dial tcp connection refused"
Solution: Check network connectivity and firewall rules
Commands:
  - netstat -tulpn | grep seid
  - ufw status

Error: "No peers available"
Solution: Verify peer connections and network config
Commands:
  - seid net_info
  - curl localhost:26657/net_info

Database Errors

Database corruption can require immediate attention:

Error: "Database is corrupted"
Solution: Reset database or restore from backup
Commands:
  - seid tendermint unsafe-reset-all
  - cp -r backup/data ~/.sei/

Diagnostic Commands

These commands help you investigate issues and monitor your node:

# Check node synchronization
seid status | jq '.sync_info'
 
# View peer connections
seid net_info | jq '.result.peers[] | {node_info: {id: .node_info.id, moniker: .node_info.moniker}}'
 
# Check validator status
seid query staking validator $(seid tendermint show-validator)
 
# Monitor real-time logs
journalctl -u seid -f -o cat
 
# View system resource usage
top -p $(pgrep seid)

Network Parameters

Understanding network parameters helps you operate your node effectively.

Chain Parameters

These parameters define the network's behavior:

Block Time: 1 second target
Max Validators: 100
Unbonding Period: 21 days
Slashing Conditions:
  - Downtime: 0.01%
  - Double Sign: 5%
  - Oracle Miss: 0.01%
Minimum Self Delegation: 1 SEI
Maximum Commission Rate: 20%
Maximum Commission Change Rate: 1% per day

Port Configuration

Understanding port usage is crucial for network configuration:

26656: P2P Communication
26657: RPC Interface
1317: REST API
9090: gRPC
26660: Prometheus Metrics

File Locations

Understanding the purpose and location of important files helps with maintenance and troubleshooting:

~/.sei/
├── config/
│   ├── app.toml         # Application configuration
│   ├── client.toml      # Client configuration
│   ├── config.toml      # Tendermint configuration
│   ├── genesis.json     # Chain genesis file
│   ├── node_key.json    # Node identity key
│   └── priv_validator_key.json  # Validator signing key
├── data/
│   ├── application.db   # Application state
│   ├── blockstore.db    # Block data
│   ├── cs.wal/         # Consensus write-ahead logs
│   ├── evidence.db     # Evidence of misbehavior
│   ├── state.db        # Tendermint state
│   └── tx_index.db     # Transaction index
└── keyring-file/       # Local key storage

This reference guide provides essential technical information for operating Sei nodes and validators. For API documentation and other detailed specifications, please refer to the respective sections in our documentation set.