LogoLogo
  • Welcome
    • About ENI
  • Getting Started
    • Quickstart
      • Account Structure
      • Token Standards
      • Gas
    • Divergence from Ethereum
    • Transactions
      • Creating Transaction
    • Governance
      • Proposals
    • Oracles
  • Build
    • Setup and Installation
    • Smart Contracts
      • EVM (General)
      • EVM (CLI)
      • Querying State
    • Frontend Development
      • Overview
      • How to Deploy Your First dApp
    • Ecosystem
      • Tools and Resources
      • Resources
  • Node
    • Getting Started
    • Node Operators Guide
    • Validator Operations Guide
    • Advanced Configuration & Monitoring
    • Technical Reference
  • Reference
    • Overview
    • enid
    • CLI
      • enid add-genesis-account
      • enid blocktest
      • enid collect-gentxs
      • enid compact
      • enid config
      • enid debug
      • enid export
      • enid gentx
      • enid help
      • enid init
      • enid keys
        • enid keys delete
        • enid keys add
        • enid keys export
        • enid keys import
        • enid keys list
        • enid keys mnemonic
        • enid keys parse
        • enid keys show
      • enid latest_version
      • enid migrate
      • enid prune
      • enid query
        • enid query accesscontrol
        • enid query upgrade
        • enid query account
        • enid query auth
        • enid query bank
        • enid query block
        • enid query authz
        • enid query distribution
        • enid query epoch
        • enid query evidence
        • enid query evm
        • enid query feegrant
        • enid query ibc-transfer
        • enid query gov
        • enid query ibc
        • enid query mint
        • enid query oracle
        • enid query params
        • enid query slashing
        • enid query staking
        • enid query tendermint-validator-set
        • enid query tokenfactory
        • enid query tx
        • enid query txs
      • enid rollback
      • enid start
      • enid status
      • enid tendermint
      • enid tools
      • enid tx
      • enid validate-genesis
      • enid version
Powered by GitBook
On this page
  1. Reference
  2. CLI

enid start

enid start

Runs a full node application with or without Tendermint. By default, the application runs alongside Tendermint.

Pruning options can be provided via the `--pruning` flag or through `--pruning-keep-recent`, `--pruning-keep-every`, and `--pruning-interval`.

For the `--pruning` options, the following are available:

- default: Keeps the most recent 100 states, plus one every 500 states; prunes every 10 blocks.
- nothing: Saves all historical states without deleting any (i.e., an archival node).
- everything: Deletes all saved states, only keeping current and previous states; prunes every 10 blocks.
- custom: Allows manual specification of pruning options using `--pruning-keep-recent`, `--pruning-keep-every`, and `--pruning-interval`.

The node stop configuration exists in two flags: `--halt-height` and `--halt-time`. During the ABCI submit phase, the node will check if the current block height is greater than or equal to the halt height, or if the current block time is greater than or equal to the halt time. If either condition is met, the node will attempt to shut down gracefully, and the block will not be submitted. Additionally, the node will not be able to submit subsequent blocks.

For analysis and benchmarking, CPU profiling can be enabled with the `--cpu-profile` flag, which accepts the path for the generated pprof file.

The node can be started in "gRPC-only" mode, where only gRPC and JSON HTTP API services are enabled, bypassing Tendermint. This mode can be used to query old data after an on-chain upgrade. Note that when this mode is enabled, gRPC will automatically be activated.

Usage:
  enid start [flags]

Flags:
      --abci string                                     Specify the abci transport (socket | grpc) (default "socket")
      --address string                                  Listening address (default "tcp://0.0.0.0:26658")
      --archival-arweave-index-db-full-path string      Full local path to LevelDB for indexing Arweave data
      --archival-arweave-node-url string                URL of the Arweave node storing archival data
      --archival-db-type string                         Type of archival database. Valid options: arweave
      --archival-version int                            Version of application data stored in the archival database before this version
      --chain-id string                                 Chain ID
      --compaction-interval uint                        Time interval to enforce LevelDB compaction. 0 means no forced compaction.
      --concurrency-workers int                         Number of worker threads to process concurrent transactions (default 20)
      --consensus.create-empty-blocks                   Set to false to only generate blocks when there are transactions or AppHash changes (default true)
      --consensus.create-empty-blocks-interval string   The potential interval between empty blocks (default "0s")
      --consensus.double-sign-check-height int          Number of blocks to backtrack to check for existing consensus votes before joining consensus
      --consensus.gossip-tx-key-only                    Set to false to propagate the whole data rather than just the key (default true)
      --cpu-profile string                              Enable CPU profiling and write to the provided file
      --db-backend string                               Database backend: goleveldb | cleveldb | boltdb | rocksdb | badgerdb (default "goleveldb")
      --db-dir string                                   Database directory (default "data")
      --genesis-hash bytesHex                           Optional SHA-256 hash of the genesis file
      --grpc-only                                       Start the node in gRPC-only query mode (do not start Tendermint process)
      --grpc-web.address string                         gRPC-Web server listening address (default "0.0.0.0:9091")
      --grpc-web.enable                                 Define whether to enable the gRPC-Web server. (Note: gRPC must also be enabled.) (default true)
      --grpc.address string                             gRPC server listening address (default "0.0.0.0:9090")
      --grpc.enable                                     Define whether to enable the gRPC server (default true)
      --halt-height uint                                Gracefully stop the chain and shut down the node at this block height
      --halt-time uint                                  Minimum block time (in Unix seconds) to gracefully stop the chain and shut down the node
  -h, --help                                            Help information for start
      --home string                                     Application home directory (default "~/.eni")
      --iavl-disable-fastnode                           Enable fast node for IAVL tree (default true)
      --inter-block-cache                               Enable inter-block caching (default true)
      --inv-check-period uint                           Assert registered invariants every N blocks
      --min-retain-blocks uint                          Minimum block height offset for pruning Tendermint blocks during ABCI submission
      --minimum-gas-prices string                       Minimum gas price to accept transactions; any fees in a transaction must meet this minimum requirement (e.g., 0.01photino;0.0001stake)
      --mode string                                     Node mode (full | validator | seed) (default "full")
      --moniker string                                  Node name (default "MacBook-Pro-2.local")
      --num-orphan-per-file int                         Number of orphans stored per file if stored separately (default 100000)
      --orphan-dir string                               Storage directory for orphan files if stored separately (default "~/.eni/orphans")
      --p2p.laddr string                                Listening address for nodes. (0.0.0.0:0 means any interface, any port) (default "tcp://0.0.0.0:26656")
      --p2p.persistent-peers string                     Comma-separated list of ID@host:port persistent peers
      --p2p.pex                                         Enable/disable peer exchange (default true)
      --p2p.private-peer-ids string                     Comma-separated list of private peer IDs
      --p2p.unconditional-peer-ids string               Comma-separated list of unconditional peer IDs
      --p2p.upnp                                        Enable/disable UPNP port forwarding
      --priv-validator-laddr string                     Listening socket address for connections from external priv-validator processes
      --profile                                         Enable profiling in the application
      --proxy-app string                                Proxy application address, or one of: 'kvstore', 'persistent_kvstore', 'e2e', or 'noop' for local testing. (default "tcp://127.0.0.1:26658")
      --pruning string                                  Pruning strategy (default|nothing|everything|custom) (default "default")
      --pruning-interval uint                           Height interval to delete pruned heights on disk (ignored if pruning is not 'custom')
      --pruning-keep-every uint                         Offset heights retained on disk after 'keep-every' (ignored if pruning is not 'custom')
      --pruning-keep-recent uint                        Number of recent heights to keep on disk (ignored if pruning is not 'custom')
      --rpc.laddr string                                RPC listening address. Requires a port (default "tcp://127.0.0.1:26657")
      --rpc.pprof-laddr string                          pprof listening address (https://golang.org/pkg/net/http/pprof)
      --rpc.unsafe                                      Enable unsafe rpc methods
      --separate-orphan-storage                         Whether to store orphans outside the main application levelDB
      --separate-orphan-versions-to-keep int            Number of versions to retain if orphans are stored separately (default 2)
      --state-sync.snapshot-interval uint               State sync snapshot interval
      --state-sync.snapshot-keep-recent uint32          Number of state sync snapshots to keep (default 2)
      --trace                                           Provide the full stack trace on errors in ABCI logs
      --trace-store string                              Enable KVStore tracing to an output file
      --tracing                                         Enable tracing in the application
      --transport string                                Transport protocol: socket, grpc (default "socket")
      --unsafe-skip-upgrades ints                       Skip a set of upgrade heights to continue using an old binary
      --with-tendermint                                 Embed Tendermint in-process to run abci applications (default true)
      --x-crisis-skip-assert-invariants                 Skip x/crisis invariant checks on startup

Global Flags:
      --log_format string   Log format (json|plain)
      --log_level string    Log level (trace|debug|info|warn|error|fatal|panic)
Previousenid rollbackNextenid status

Last updated 2 months ago