SHE Technical Reference
This guide serves as a comprehensive reference for SHE 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 shed binary provides extensive functionality for managing your SHE 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
shed start [flags]
# Show node status
shed status
# Show validator consensus key
shed tendermint show-validator
# Query node information
shed query node infoKey Management
Proper key management is crucial for security. These commands help you manage your keys effectively:
# Create new key
shed keys add <name> [flags]
# List all keys
shed keys list
# Delete key
shed keys delete <name>
# Export key (encrypted)
shed keys export <name>
# Import key
shed keys import <name> <keyfile>
# Show key address
shed keys show <name> -aTransaction Commands
These commands allow you to interact with the blockchain:
# Send tokens
shed tx bank send <from-key> <to-address> <amount>ushe [flags]
# Delegate tokens
shed tx staking delegate <validator-addr> <amount>ushe --from <delegator-key>
# Withdraw rewards
shed tx distribution withdraw-rewards <validator-addr> --from <delegator-key>
# Edit validator
shed 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.01ushe"
# 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 = 600Config.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 = 0Error 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: shed status | jq .sync_info
Error: "Private validator file not found"
Solution: Restore validator key or check file permissions
Location: ~/.she/config/priv_validator_key.json
Error: "Duplicate signature"
Solution: IMMEDIATELY STOP NODE - potential double signing risk
Action: Check validator operation on other machinesNetwork 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 shed
- ufw status
Error: "No peers available"
Solution: Verify peer connections and network config
Commands:
- shed net_info
- curl localhost:26657/net_infoDatabase Errors
Database corruption can require immediate attention:
Error: "Database is corrupted"
Solution: Reset database or restore from backup
Commands:
- shed tendermint unsafe-reset-all
- cp -r backup/data ~/.she/Diagnostic Commands
These commands help you investigate issues and monitor your node:
# Check node synchronization
shed status | jq '.sync_info'
# View peer connections
shed net_info | jq '.result.peers[] | {node_info: {id: .node_info.id, moniker: .node_info.moniker}}'
# Check validator status
shed query staking validator $(shed tendermint show-validator)
# Monitor real-time logs
journalctl -u shed -f -o cat
# View system resource usage
top -p $(pgrep shed)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 SHE
Maximum Commission Rate: 20%
Maximum Commission Change Rate: 1% per dayPort Configuration
Understanding port usage is crucial for network configuration:
26656: P2P Communication
26657: RPC Interface
1317: REST API
9090: gRPC
26660: Prometheus MetricsFile Locations
Understanding the purpose and location of important files helps with maintenance and troubleshooting:
~/.she/
├── 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 storageThis reference guide provides essential technical information for operating SHE nodes and validators. For API documentation and other detailed specifications, please refer to the respective sections in our documentation set.