Technical Reference
This guide serves as a comprehensive reference for ENI node operators and validators, providing detailed command syntax, configuration parameters, and troubleshooting procedures. For API documentation, refer to our API documentation section.
Command Line Interface Reference
The enid
binary provides extensive functionality to manage your ENI node. Understanding these commands is critical for effective node operation and troubleshooting.
Node Management Commands
These commands help you control and monitor node operations:
# Start the node
enid start [flags]
# Display node status
enid status
# Display validator consensus key
enid tendermint show-validator
# Query node information
enid query node info
Key Management
Proper key management is essential for security. These commands help you manage keys effectively:
# Create a new key
enid keys add <name> [flags]
# List all keys
enid keys list
# Delete a key
enid keys delete <name>
# Export a key (encrypted)
enid keys export <name>
# Import a key
enid keys import <name> <keyfile>
# Display key address
enid keys show <name> -a
Transaction Commands
These commands allow you to interact with the blockchain:
# Send tokens
enid tx bank send <from-key> <to-address> <amount>ueni [flags]
# Delegate tokens
enid tx staking delegate <validator-addr> <amount>ueni --from <delegator-key>
# Withdraw rewards
enid tx distribution withdraw-rewards <validator-addr> --from <delegator-key>
# Edit validator
enid tx staking edit-validator [flags] --from <validator-key>
Configuration Parameters
Understanding configuration parameters is crucial for optimizing node performance and security.
App.toml Parameters
The app.toml
file controls application-specific settings:
Config.toml Parameters
The config.toml
file controls the core consensus engine and networking:
Error Codes and Troubleshooting
Common Error Codes
Below are the most common errors you may encounter and their solutions:
Consensus Errors
When facing consensus errors, quick and appropriate action is critical:
Error: "Consensus Failure - Height Halted"
Solution: Check for network upgrades or chain halts
Command: enid status | jq .sync_info
Error: "Private Validator File Not Found"
Solution: Restore validator key or check file permissions
Location: ~/.eni/config/priv_validator_key.json
Error: "Duplicate Signature"
Solution: Stop the node immediately - potential double-signing risk
Action: Check for validator operations on other machines
Network Errors
Network errors may prevent your node from participating in consensus:
Error: "Dial TCP Connection Refused"
Solution: Check network connectivity and firewall rules
Commands:
- netstat -tulpn | grep enid
- ufw status
Error: "No Peers Available"
Solution: Verify peer connections and network configuration
Commands:
- enid net_info
- curl localhost:26657/net_info
Database Errors
Database corruption may require immediate attention:
Error: "Database Corrupted"
Solution: Reset the database or restore from backup
Commands:
- enid tendermint unsafe-reset-all
- cp -r backup/data ~/.eni/
Diagnostic Commands
These commands help you investigate issues and monitor the node:
# Check node synchronization
enid status | jq '.sync_info'
# View peer connections
enid net_info | jq '.result.peers[] | {node_info: {id: .node_info.id, moniker: .node_info.moniker}}'
# Check validator status
enid query staking validator $(enid tendermint show-validator)
# Monitor logs in real-time
journalctl -u enid -f -o cat
# View system resource usage
top -p $(pgrep enid)
Network Parameters
Understanding network parameters helps you operate your node effectively.
Chain Parameters
These parameters define the network's behavior:
Block Time: Target 1 second
Maximum Validators: 100
Unbonding Period: 21 days
Punishment Conditions:
- Downtime: 0.01%
- Double Signing: 5%
- Oracle Miss: 0.01%
Minimum Self-Delegation: 1 ENI
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
Knowing the purpose and location of key files aids in maintenance and troubleshooting:
~/.eni/
├── 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 log
│ ├── 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 ENI nodes and validators. For API documentation and other detailed specifications, refer to the corresponding sections in our documentation set.
Last updated