lighthouse beacon node --help

From wikieduonline
Jump to navigation Jump to search

lighthouse beacon_node
5052
--http-port

lighthouse-beacon_node 4.3.0[edit]

lighthouse-beacon_node 4.3.0
Sigma Prime <[email protected]>
The primary component which connects to the Ethereum 2.0 P2P network and downloads, verifies and stores blocks. Provides
a HTTP API for querying the beacon chain and publishing messages to the network.

USAGE:
    lighthouse beacon_node [FLAGS] [OPTIONS]

FLAGS:
       --always-prefer-builder-payload        If set, the beacon node always uses the payload from the builder instead
                                              of the local payload.
       --always-prepare-payload               Send payload attributes with every fork choice update. This is intended
                                              for use by block builders, relays and developers. You should set a fee
                                              recipient on this BN and also consider adjusting the --prepare-payload-
                                              lookahead flag.
       --builder-fallback-disable-checks      This flag disables all checks related to chain health. This means the
                                              builder API will always be used for payload construction, regardless of
                                              recent chain conditions.
       --compact-db                           If present, apply compaction to the database on start-up. Use with
                                              caution. It is generally not recommended unless auto-compaction is
                                              disabled.
       --disable-backfill-rate-limiting       Disable the backfill sync rate-limiting. This allow users to just sync
                                              the entire chain as fast as possible, however it can result in resource
                                              contention which degrades staking performance. Stakers should generally
                                              choose to avoid this flag since backfill sync is not required for
                                              staking.
       --disable-deposit-contract-sync        Explictly disables syncing of deposit logs from the execution node. This
                                              overrides any previous option that depends on it. Useful if you intend to
                                              run a non-validating beacon node.
       --disable-discovery                    Disables the discv5 discovery protocol. The node will not search for new
                                              peers or participate in the discovery protocol.
   -x, --disable-enr-auto-update              Discovery automatically updates the nodes local ENR with an external IP
                                              address and port as seen by other peers on the network. This disables
                                              this feature, fixing the ENR's IP/PORT to those specified on boot.
       --disable-lock-timeouts                Disable the timeouts applied to some internal locks by default. This can
                                              lead to less spurious failures on slow hardware but is considered
                                              experimental as it may obscure performance issues.
       --disable-log-timestamp                If present, do not include timestamps in logging output.
       --disable-malloc-tuning                If present, do not configure the system allocator. Providing this flag
                                              will generally increase memory usage, it should only be provided when
                                              debugging specific memory allocation issues.
       --disable-optimistic-finalized-sync    Force Lighthouse to verify every execution block hash with the execution
                                              client during finalized sync. By default block hashes will be checked in
                                              Lighthouse and only passed to the EL if initial verification fails.
       --disable-packet-filter                Disables the discovery packet filter. Useful for testing in smaller
                                              networks
       --disable-proposer-reorgs              Do not attempt to reorg late blocks from other validators when proposing.
       --disable-upnp                         Disables UPnP support. Setting this will prevent Lighthouse from
                                              attempting to automatically establish external port mappings.
       --dummy-eth1                           If present, uses an eth1 backend that generates static dummy
                                              data.Identical to the method used at the 2019 Canada interop.
       --enable-private-discovery             Lighthouse by default does not discover private IP addresses. Set this
                                              flag to enable connection attempts to local addresses.
   -e, --enr-match                            Sets the local ENR IP address and port to match those set for lighthouse.
                                              Specifically, the IP address will be the value of --listen-address and
                                              the UDP port will be --discovery-port.
       --eth1                                 If present the node will connect to an eth1 node. This is required for
                                              block production, you must use this flag if you wish to serve a
                                              validator.
       --eth1-purge-cache                     Purges the eth1 block and deposit caches
       --genesis-backfill                     Attempts to download blocks all the way back to genesis when checkpoint syncing.
   -h, --help                                 Prints help information
       --http                                 Enable the RESTful HTTP API server. Disabled by default.
       --http-allow-sync-stalled              Forces the HTTP to indicate that the node is synced when sync is actually
                                              stalled. This is useful for very small testnets. TESTING ONLY. DO NOT USE
                                              ON MAINNET.
       --http-enable-tls                      Serves the RESTful HTTP API server over TLS. This feature is currently
                                              experimental.
       --import-all-attestations              Import and aggregate all attestations, regardless of validator
                                              subscriptions. This will only import attestations from already-subscribed
                                              subnets, use with --subscribe-all-subnets to ensure all attestations are
                                              received for import.
       --light-client-server                  Act as a full node supporting light clients on the p2p network
                                              [experimental]
       --log-color                            Force outputting colors when emitting logs to the terminal.
       --logfile-compress                     If present, compress old log files. This can help reduce the space needed
                                              to store old logs.
       --logfile-no-restricted-perms          If present, log files will be generated as world-readable meaning they
                                              can be read by any user on the machine. Note that logs can often contain
                                              sensitive information about your validator and so this flag should be
                                              used with caution. For Windows users, the log file permissions will be
                                              inherited from the parent folder.
       --metrics                              Enable the Prometheus metrics HTTP server. Disabled by default.
       --private                              Prevents sending various client identification information.
       --proposer-only                        Sets this beacon node at be a block proposer only node. This will run the
                                              beacon node in a minimal configuration that is sufficient for block
                                              publishing only. This flag should be used for a beacon node being
                                              referenced by validator client using the --proposer-node flag. This
                                              configuration is for enabling more secure setups.
       --purge-db                             If present, the chain database will be deleted. Use with caution.
       --reconstruct-historic-states          After a checkpoint sync, reconstruct historic states in the database.
                                              This requires syncing all the way back to genesis.
       --reset-payload-statuses               When present, Lighthouse will forget the payload statuses of any already-
                                              imported blocks. This can assist in the recovery from a consensus
                                              failure caused by the execution layer.
       --shutdown-after-sync                  Shutdown beacon node as soon as sync is completed. Backfill sync will not
                                              be performed before shutdown.
       --slasher                              Run a slasher alongside the beacon node. It is currently only recommended
                                              for expert users because of the immaturity of the slasher UX and the
                                              extra resources required.
       --staking                              Standard option for a staking beacon node. This will enable the HTTP
                                              server on localhost:5052 and import deposit logs from the execution node.
                                              This is equivalent to `--http` on merge-ready networks, or `--http
                                              --eth1` pre-merge
       --subscribe-all-subnets                Subscribe to all subnets regardless of validator count. This will also
                                              advertise the beacon node as being long-lived subscribed to all subnets.
       --validator-monitor-auto               Enables the automatic detection and monitoring of validators connected to
                                              the HTTP API and using the subnet subscription endpoint. This generally
                                              has the effect of providing additional logging and metrics for locally
                                              controlled validators.
   -V, --version                              Prints version information
   -z, --zero-ports                           Sets all listening TCP/UDP ports to 0, allowing the OS to choose some
                                              arbitrary free ports.

OPTIONS:
       --auto-compact-db <auto-compact-db>
           Enable or disable automatic compaction of the database on finalization. [default: true]
       --block-cache-size <SIZE>
           Specifies how many blocks the database should cache in memory [default: 5]
       --boot-nodes <ENR/MULTIADDR LIST>
           One or more comma-delimited base64-encoded ENR's to bootstrap the p2p network. Multiaddr is also supported.
       --builder <builder>
           The URL of a service compatible with the MEV-boost API.
       --builder-fallback-epochs-since-finalization <builder-fallback-epochs-since-finalization>
           If this node is proposing a block and the chain has not finalized within this number of epochs, it will NOT
           query any connected builders, and will use the local execution engine for payload construction. Setting this
           value to anything less than 2 will cause the node to NEVER query connected builders. Setting it to 2 will
           cause this condition to be hit if there are skips slots at the start of an epoch, right before this node is
           set to propose. [default: 3]
       --builder-fallback-skips <builder-fallback-skips>
           If this node is proposing a block and has seen this number of skip slots on the canonical chain in a row, it
           will NOT query any connected builders, and will use the local execution engine for payload construction.
           [default: 3]
       --builder-fallback-skips-per-epoch <builder-fallback-skips-per-epoch>
           If this node is proposing a block and has seen this number of skip slots on the canonical chain in the past
           `SLOTS_PER_EPOCH`, it will NOT query any connected builders, and will use the local execution engine for
           payload construction. [default: 8]
       --builder-profit-threshold <WEI_VALUE>
           The minimum reward in wei provided to the proposer by a block builder for an external payload to be
           considered for inclusion in a proposal. If this threshold is not met, the local EE's payload will be used.
           This is currently *NOT* in comparison to the value of the local EE's payload. It simply checks whether the
           total proposer reward from an external payload is equal to or greater than this value. In the future, a
           comparison to a local payload is likely to be added. Example: Use 250000000000000000 to set the threshold to
           0.25 ETH. [default: 0]
       --builder-user-agent <STRING>
           The HTTP user agent to send alongside requests to the builder URL. The default is Lighthouse's version
           string.
       --checkpoint-block <BLOCK_SSZ>
           Set a checkpoint block to start syncing from. Must be aligned and match --checkpoint-state. Using
           --checkpoint-sync-url instead is recommended.
       --checkpoint-state <STATE_SSZ>
           Set a checkpoint state to start syncing from. Must be aligned and match --checkpoint-block. Using
           --checkpoint-sync-url instead is recommended.
       --checkpoint-sync-url <BEACON_NODE>
           Set the remote beacon node HTTP endpoint to use for checkpoint sync.
       --checkpoint-sync-url-timeout <SECONDS>
           Set the timeout for checkpoint sync calls to remote beacon node HTTP endpoint. [default: 60]
   -d, --datadir <DIR>
           Used to specify a custom root data directory for lighthouse keys and databases. Defaults to
           $HOME/.lighthouse/{network} where network is the value of the `network` flag Note: Users should specify
           separate custom datadirs for different networks.
       --debug-level <LEVEL>
           Specifies the verbosity level used when emitting logs to the terminal. [default: info]  [possible values:
           info, debug, trace, warn, error, crit]
       --discovery-port <PORT>
           The UDP port that discovery will listen on. Defaults to `port`
       --discovery-port6 <PORT>
           The UDP port that discovery will listen on over IpV6 if listening over both Ipv4 and IpV6. Defaults to
           `port6`
       --enr-address <ADDRESS>...
           The IP address/ DNS address to broadcast to other peers on how to reach this node. If a DNS address is
           provided, the enr-address is set to the IP address it resolves to and does not auto-update based on PONG
           responses in discovery. Set this only if you are sure other nodes can connect to your local node on this
           address. This will update the `ip4` or `ip6` ENR fields accordingly. To update both, set this flag twice
           with the different values.
       --enr-tcp-port <PORT>
           The TCP4 port of the local ENR. Set this only if you are sure other nodes can connect to your local node on
           this port over IpV4. The --port flag is used if this is not set.
       --enr-tcp6-port <PORT>
           The TCP6 port of the local ENR. Set this only if you are sure other nodes can connect to your local node on
           this port over IpV6. The --port6 flag is used if this is not set.
       --enr-udp-port <PORT>
           The UDP4 port of the local ENR. Set this only if you are sure other nodes can connect to your local node on
           this port over IpV4.
       --enr-udp6-port <PORT>
           The UDP6 port of the local ENR. Set this only if you are sure other nodes can connect to your local node on
           this port over IpV6.
       --eth1-blocks-per-log-query <BLOCKS>
           Specifies the number of blocks that a deposit log query should span. This will reduce the size of responses
           from the Eth1 endpoint. [default: 1000]
       --eth1-cache-follow-distance <BLOCKS>
           Specifies the distance between the Eth1 chain head and the last block which should be imported into the
           cache. Setting this value lower can help compensate for irregular Proof-of-Work block times, but setting it
           too low can make the node vulnerable to re-orgs.
       --eth1-endpoint <HTTP-ENDPOINT>
           Deprecated. Use --eth1-endpoints.
       --eth1-endpoints <HTTP-ENDPOINTS>
           One http endpoint for a web3 connection to an execution node. Note: This flag is now only useful for
           testing, use `--execution-endpoint` flag to connect to an execution node on mainnet and testnets.
                                  Defaults to http://127.0.0.1:8545.
       --execution-endpoint <EXECUTION-ENDPOINT>
           Server endpoint for an execution layer JWT-authenticated HTTP JSON-RPC connection. Uses the same endpoint to
           populate the deposit cache.
       --execution-jwt <EXECUTION-JWT>
           File path which contains the hex-encoded JWT secret for the execution endpoint provided in the --execution-
           endpoint flag.
       --execution-jwt-id <EXECUTION-JWT-ID>
           Used by the beacon node to communicate a unique identifier to execution nodes during JWT authentication. It
           corresponds to the 'id' field in the JWT claims object.Set to empty by default
       --execution-jwt-secret-key <EXECUTION-JWT-SECRET-KEY>
           Hex-encoded JWT secret for the execution endpoint provided in the --execution-endpoint flag.
       --execution-jwt-version <EXECUTION-JWT-VERSION>
           Used by the beacon node to communicate a client version to execution nodes during JWT authentication. It
           corresponds to the 'clv' field in the JWT claims object.Set to empty by default
       --execution-timeout-multiplier <NUM>
           Unsigned integer to multiply the default execution timeouts by. [default: 1]
       --fork-choice-before-proposal-timeout <fork-choice-before-proposal-timeout>
           Set the maximum number of milliseconds to wait for fork choice before proposing a block. You can prevent
           waiting at all by setting the timeout to 0, however you risk proposing atop the wrong parent block.
           [default: 250]
       --freezer-dir <DIR>
           Data directory for the freezer database.
       --graffiti <GRAFFITI>
           Specify your custom graffiti to be included in blocks. Defaults to the current version and commit, truncated
           to fit in 32 bytes. 
       --historic-state-cache-size <SIZE>
           Specifies how many states from the freezer database should cache in memory [default: 1]
       --http-address <ADDRESS>
           Set the listen address for the RESTful HTTP API server. [default: 127.0.0.1]
       --http-allow-origin <ORIGIN>
           Set the value of the Access-Control-Allow-Origin response HTTP header. Use * to allow any origin (not
           recommended in production). If no value is supplied, the CORS allowed origin is set to the listen address of
           this server (e.g., http://localhost:5052).
       --http-port <PORT>
           Set the listen TCP port for the RESTful HTTP API server. [default: 5052]
       --http-spec-fork <FORK>
           Serve the spec for a specific hard fork on /eth/v1/config/spec. It should not be necessary to set this flag.
       --http-tls-cert <http-tls-cert>
           The path of the certificate to be used when serving the HTTP API server over TLS.
       --http-tls-key <http-tls-key>
           The path of the private key to be used when serving the HTTP API server over TLS. Must not be password-
           protected.
       --invalid-gossip-verified-blocks-path <PATH>
           If a block succeeds gossip validation whilst failing full validation, store the block SSZ as a file at this
           path. This feature is only recommended for developers. This directory is not pruned, users should be careful
           to avoid filling up their disks.
       --libp2p-addresses <MULTIADDR>
           One or more comma-delimited multiaddrs to manually connect to a libp2p peer without an ENR.
       --listen-address <ADDRESS>...
           The address lighthouse will listen for UDP and TCP connections. To listen over IpV4 and IpV6 set this flag
           twice with the different values.
           Examples:
           - --listen-address '0.0.0.0' will listen over Ipv4.
           - --listen-address '::' will listen over Ipv6.
           - --listen-address '0.0.0.0' --listen-address '::' will listen over both Ipv4 and Ipv6. The order of the
           given addresses is not relevant. However, multiple Ipv4, or multiple Ipv6 addresses will not be accepted.
           [default: 0.0.0.0]
       --log-format <FORMAT>
           Specifies the log format used when emitting logs to the terminal. [possible values: JSON]
       --logfile <FILE>
           File path where the log file will be stored. Once it grows to the value specified in `--logfile-max-size` a
           new log file is generated where future logs are stored. Once the number of log files exceeds the value
           specified in `--logfile-max-number` the oldest log file will be overwritten.
       --logfile-debug-level <LEVEL>
           The verbosity level used when emitting logs to the log file. [default: debug]  [possible values: info,
           debug, trace, warn, error, crit]
       --logfile-format <FORMAT>
           Specifies the log format used when emitting logs to the logfile. [possible values: DEFAULT, JSON]
       --logfile-max-number <COUNT>
           The maximum number of log files that will be stored. If set to 0, background file logging is disabled.
           [default: 5]
       --logfile-max-size <SIZE>
           The maximum size (in MB) each log file can grow to before rotating. If set to 0, background file logging is
           disabled. [default: 200]
       --max-skip-slots <NUM_SLOTS>
           Refuse to skip more than this many slots when processing an attestation. This prevents nodes on minority
           forks from wasting our time and disk space, but could also cause unnecessary consensus failures, so is
           disabled by default.
       --metrics-address <ADDRESS>
           Set the listen address for the Prometheus metrics HTTP server. [default: 127.0.0.1]
       --metrics-allow-origin <ORIGIN>
           Set the value of the Access-Control-Allow-Origin response HTTP header. Use * to allow any origin (not
           recommended in production). If no value is supplied, the CORS allowed origin is set to the listen address of
           this server (e.g., http://localhost:5054).
       --metrics-port <PORT>
           Set the listen TCP port for the Prometheus metrics HTTP server. [default: 5054]
       --monitoring-endpoint <ADDRESS>
           Enables the monitoring service for sending system metrics to a remote endpoint. This can be used to monitor
           your setup on certain services (e.g. beaconcha.in). This flag sets the endpoint where the beacon node
           metrics will be sent. Note: This will send information to a remote sever which may identify and associate
           your validators, IP address and other personal information. Always use a HTTPS connection and never provide
           an untrusted URL.
       --monitoring-endpoint-period <SECONDS>
           Defines how many seconds to wait between each message sent to the monitoring-endpoint. Default: 60s
       --network <network>
           Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
           sepolia]
       --network-dir <DIR>
           Data directory for network keys. Defaults to network/ inside the beacon node dir.
       --port <PORT>
           The TCP/UDP port to listen on. The UDP port can be modified by the --discovery-port flag. If listening over
           both Ipv4 and Ipv6 the --port flag will apply to the Ipv4 address and --port6 to the Ipv6 address. [default:
           9000]
       --port6 <PORT>
           The TCP/UDP port to listen on over IpV6 when listening over both Ipv4 and Ipv6. Defaults to 9090 when
           required. [default: 9090]
       --prepare-payload-lookahead <MILLISECONDS>
           The time before the start of a proposal slot at which payload attributes should be sent. Low values are
           useful for execution nodes which don't improve their payload after the first call, and high values are
           useful for ensuring the EL is given ample notice. Default: 1/3 of a slot.
       --progressive-balances <MODE>
           Options to enable or disable the progressive balances cache for unrealized FFG progression calculation. The
           default `checked` mode compares the progressive balances from the cache against results from the existing
           method. If there is a mismatch, it falls back to the existing method. The optimized mode (`fast`) is faster
           but is still experimental, and is not recommended for mainnet usage at this time. [possible values:
           disabled, checked, strict, fast]
       --proposer-reorg-cutoff <MILLISECONDS>
           Maximum delay after the start of the slot at which to propose a reorging block. Lower values can prevent
           failed reorgs by ensuring the block has ample time to propagate and be processed by the network. The default
           is 1/12th of a slot (1 second on mainnet)
       --proposer-reorg-disallowed-offsets <N1,N2,...>
           Comma-separated list of integer offsets which can be used to avoid proposing reorging blocks at certain
           slots. An offset of N means that reorging proposals will not be attempted at any slot such that `slot %
           SLOTS_PER_EPOCH == N`. By default only re-orgs at offset 0 will be avoided. Any offsets supplied with this
           flag will impose additional restrictions.
       --proposer-reorg-epochs-since-finalization <EPOCHS>
           Maximum number of epochs since finalization at which proposer reorgs are allowed. Default: 2
       --proposer-reorg-threshold <PERCENT>
           Percentage of vote weight below which to attempt a proposer reorg. Default: 20%
       --prune-payloads <prune-payloads>
           Prune execution payloads from Lighthouse's database. This saves space but imposes load on the execution
           client, as payloads need to be reconstructed and sent to syncing peers. [default: true]
       --safe-slots-to-import-optimistically <INTEGER>
           Used to coordinate manual overrides of the SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY parameter. This flag should
           only be used if the user has a clear understanding that the broad Ethereum community has elected to override
           this parameter in the event of an attack at the PoS transition block. Incorrect use of this flag can cause
           your node to possibly accept an invalid chain or sync more slowly. Be extremely careful with this flag.
       --shuffling-cache-size <shuffling-cache-size>
           Some HTTP API requests can be optimised by caching the shufflings at each epoch. This flag allows the user
           to set the shuffling cache size in epochs. Shufflings are dependent on validator count and setting this
           value to a large number can consume a large amount of memory.
       --slasher-att-cache-size <COUNT>
           Set the maximum number of attestation roots for the slasher to cache
       --slasher-backend <DATABASE>
           Set the database backend to be used by the slasher. [possible values: lmdb, disabled]
       --slasher-broadcast <slasher-broadcast>
           Broadcast slashings found by the slasher to the rest of the network [Enabled by default]. [default: true]
       --slasher-chunk-size <EPOCHS>
           Number of epochs per validator per chunk stored on disk.
       --slasher-dir <PATH>
           Set the slasher's database directory.
       --slasher-history-length <EPOCHS>
           Configure how many epochs of history the slasher keeps. Immutable after initialization.
       --slasher-max-db-size <GIGABYTES>
           Maximum size of the MDBX database used by the slasher.
       --slasher-slot-offset <SECONDS>
           Set the delay from the start of the slot at which the slasher should ingest attestations. Only effective if
           the slasher-update-period is a multiple of the slot duration.
       --slasher-update-period <SECONDS>
           Configure how often the slasher runs batch processing.
       --slasher-validator-chunk-size <NUM_VALIDATORS>
           Number of validators per chunk stored on disk.
       --slots-per-restore-point <SLOT_COUNT>
           Specifies how often a freezer DB restore point should be stored. Cannot be changed after initialization.
           [default: 8192 (mainnet) or 64 (minimal)]
   -s, --spec <DEPRECATED>
           This flag is deprecated, it will be disallowed in a future release. This value is now derived from the
           --network or --testnet-dir flags.
       --suggested-fee-recipient <SUGGESTED-FEE-RECIPIENT>
           Emergency fallback fee recipient for use in case the validator client does not have one configured. You
           should set this flag on the validator client instead of (or in addition to) setting it here.
       --target-peers <target-peers>
           The target number of peers.
       --terminal-block-hash-epoch-override <EPOCH>
           Used to coordinate manual overrides to the TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH parameter. This flag should
           only be used if the user has a clear understanding that the broad Ethereum community has elected to override
           the terminal PoW block. Incorrect use of this flag will cause your node to experience a consensus failure.
           Be extremely careful with this flag.
       --terminal-block-hash-override <TERMINAL_BLOCK_HASH>
           Used to coordinate manual overrides to the TERMINAL_BLOCK_HASH parameter. This flag should only be used if
           the user has a clear understanding that the broad Ethereum community has elected to override the terminal
           PoW block. Incorrect use of this flag will cause your node to experience a consensus failure. Be extremely
           careful with this flag.
       --terminal-total-difficulty-override <INTEGER>
           Used to coordinate manual overrides to the TERMINAL_TOTAL_DIFFICULTY parameter. Accepts a 256-bit decimal
           integer (not a hex value). This flag should only be used if the user has a clear understanding that the
           broad Ethereum community has elected to override the terminal difficulty. Incorrect use of this flag will
           cause your node to experience a consensus failure. Be extremely careful with this flag.
   -t, --testnet-dir <DIR>
           Path to directory containing eth2_testnet specs. Defaults to a hard-coded Lighthouse testnet. Only effective
           if there is no existing database.
       --trusted-peers <TRUSTED_PEERS>
           One or more comma-delimited trusted peer ids which always have the highest score according to the peer
           scoring system.
       --validator-monitor-file <PATH>
           As per --validator-monitor-pubkeys, but the comma-separated list is contained within a file at the given
           path.
       --validator-monitor-individual-tracking-threshold <INTEGER>
           Once the validator monitor reaches this number of local validators it will stop collecting per-validator
           Prometheus metrics and issuing per-validator logs. Instead, it will provide aggregate metrics and logs. This
           avoids infeasibly high cardinality in the Prometheus database and high log volume when using many
           validators. Defaults to 64.
       --validator-monitor-pubkeys <PUBKEYS>
           A comma-separated list of 0x-prefixed validator public keys. These validators will receive special
           monitoring and additional logging.
       --wss-checkpoint <WSS_CHECKPOINT>
           Specify a weak subjectivity checkpoint in `block_root:epoch` format to verify the node's sync against. The
           block root should be 0x-prefixed. Note that this flag is for verification only, to perform a checkpoint sync
           from a recent state use --checkpoint-sync-url.

3.0.0[edit]

lighthouse-beacon_node 3.0.0
Sigma Prime <[email protected]>
The primary component which connects to the Ethereum 2.0 P2P network and downloads, verifies and stores blocks. Provides
a HTTP API for querying the beacon chain and publishing messages to the network.
USAGE:
    lighthouse beacon_node [FLAGS] [OPTIONS]
FLAGS:
        --builder-fallback-disable-checks    This flag disables all checks related to chain health. This means the
                                             builder API will always be used for payload construction, regardless of
                                             recent chain conditions.
        --compact-db                         If present, apply compaction to the database on start-up. Use with caution.
                                             It is generally not recommended unless auto-compaction is disabled.
        --disable-discovery                  Disables the discv5 discovery protocol. The node will not search for new
                                             peers or participate in the discovery protocol.
    -x, --disable-enr-auto-update            Discovery automatically updates the nodes local ENR with an external IP
                                             address and port as seen by other peers on the network. This disables this
                                             feature, fixing the ENR's IP/PORT to those specified on boot.
        --disable-lock-timeouts              Disable the timeouts applied to some internal locks by default. This can
                                             lead to less spurious failures on slow hardware but is considered
                                             experimental as it may obscure performance issues.
        --disable-malloc-tuning              If present, do not configure the system allocator. Providing this flag will
                                             generally increase memory usage, it should only be provided when debugging
                                             specific memory allocation issues.
        --disable-packet-filter              Disables the discovery packet filter. Useful for testing in smaller
                                             networks
        --disable-upnp                       Disables UPnP support. Setting this will prevent Lighthouse from attempting
                                             to automatically establish external port mappings.
        --dummy-eth1                         If present, uses an eth1 backend that generates static dummy data.Identical
                                             to the method used at the 2019 Canada interop.
        --enable-private-discovery           Lighthouse by default does not discover private IP addresses. Set this flag
                                             to enable connection attempts to local addresses.
    -e, --enr-match                          Sets the local ENR IP address and port to match those set for lighthouse.
                                             Specifically, the IP address will be the value of --listen-address and the
                                             UDP port will be --discovery-port.
        --eth1                               If present the node will connect to an eth1 node. This is required for
                                             block production, you must use this flag if you wish to serve a validator.
        --eth1-purge-cache                   Purges the eth1 block and deposit caches
    -h, --help                               Prints help information
        --http                               Enable the RESTful HTTP API server. Disabled by default.
        --http-allow-sync-stalled            Forces the HTTP to indicate that the node is synced when sync is actually
                                             stalled. This is useful for very small testnets. TESTING ONLY. DO NOT USE
                                             ON MAINNET.
        --http-enable-tls                    Serves the RESTful HTTP API server over TLS. This feature is currently
                                             experimental.
        --import-all-attestations            Import and aggregate all attestations, regardless of validator
                                             subscriptions. This will only import attestations from already-subscribed
                                             subnets, use with --subscribe-all-subnets to ensure all attestations are
                                             received for import.
        --logfile-compress                   If present, compress old log files. This can help reduce the space needed
                                             to store old logs.
        --merge                              Deprecated. The feature activates automatically when --execution-endpoint
                                             is supplied.
        --metrics                            Enable the Prometheus metrics HTTP server. Disabled by default.
        --private                            Prevents sending various client identification information.
        --purge-db                           If present, the chain database will be deleted. Use with caution.
        --reconstruct-historic-states        After a checkpoint sync, reconstruct historic states in the database.
        --shutdown-after-sync                Shutdown beacon node as soon as sync is completed. Backfill sync will not
                                             be performed before shutdown.
        --slasher                            Run a slasher alongside the beacon node. It is currently only recommended
                                             for expert users because of the immaturity of the slasher UX and the extra
                                             resources required.
        --slasher-broadcast                  Broadcast slashings found by the slasher to the rest of the network
                                             [disabled by default].
        --staking                            Standard option for a staking beacon node. Equivalent to `lighthouse bn
                                             --http --eth1 `. This will enable the http server on localhost:5052 and try
                                             connecting to an eth1 node on localhost:8545
        --subscribe-all-subnets              Subscribe to all subnets regardless of validator count. This will also
                                             advertise the beacon node as being long-lived subscribed to all subnets.
        --validator-monitor-auto             Enables the automatic detection and monitoring of validators connected to
                                             the HTTP API and using the subnet subscription endpoint. This generally has
                                             the effect of providing additional logging and metrics for locally
                                             controlled validators.
    -V, --version                            Prints version information
    -z, --zero-ports                         Sets all listening TCP/UDP ports to 0, allowing the OS to choose some
                                             arbitrary free ports.
OPTIONS:
        --auto-compact-db <auto-compact-db>
            Enable or disable automatic compaction of the database on finalization. [default: true]
        --block-cache-size <SIZE>
            Specifies how many blocks the database should cache in memory [default: 5]
        --boot-nodes <ENR/MULTIADDR LIST>
            One or more comma-delimited base64-encoded ENR's to bootstrap the p2p network. Multiaddr is also supported.
        --builder <builder>
            The URL of a service compatible with the MEV-boost API.
        --builder-fallback-epochs-since-finalization <builder-fallback-epochs-since-finalization>
            If this node is proposing a block and the chain has not finalized within this number of epochs, it will NOT
            query any connected builders, and will use the local execution engine for payload construction. Setting this
            value to anything less than 2 will cause the node to NEVER query connected builders. Setting it to 2 will
            cause this condition to be hit if there are skips slots at the start of an epoch, right before this node is
            set to propose. [default: 3]
        --builder-fallback-skips <builder-fallback-skips>
            If this node is proposing a block and has seen this number of skip slots on the canonical chain in a row, it
            will NOT query any connected builders, and will use the local execution engine for payload construction.
            [default: 3]
        --builder-fallback-skips-per-epoch <builder-fallback-skips-per-epoch>
            If this node is proposing a block and has seen this number of skip slots on the canonical chain in the past
            `SLOTS_PER_EPOCH`, it will NOT query any connected builders, and will use the local execution engine for
            payload construction. [default: 8]
        --checkpoint-block <BLOCK_SSZ>
            Set a checkpoint block to start syncing from. Must be aligned and match --checkpoint-state. Using
            --checkpoint-sync-url instead is recommended.
        --checkpoint-state <STATE_SSZ>
            Set a checkpoint state to start syncing from. Must be aligned and match --checkpoint-block. Using
            --checkpoint-sync-url instead is recommended.
        --checkpoint-sync-url <BEACON_NODE>
            Set the remote beacon node HTTP endpoint to use for checkpoint sync.
    -d, --datadir <DIR>
            Used to specify a custom root data directory for lighthouse keys and databases. Defaults to
            $HOME/.lighthouse/{network} where network is the value of the `network` flag Note: Users should specify
            separate custom datadirs for different networks.
        --debug-level <LEVEL>
            Specifies the verbosity level used when emitting logs to the terminal. [default: info]  [possible values:
            info, debug, trace, warn, error, crit]
        --discovery-port <PORT>
            The UDP port that discovery will listen on. Defaults to `port`
        --enr-address <ADDRESS>
            The IP address/ DNS address to broadcast to other peers on how to reach this node. If a DNS address is
            provided, the enr-address is set to the IP address it resolves to and does not auto-update based on PONG
            responses in discovery. Set this only if you are sure other nodes can connect to your local node on this
            address. Discovery will automatically find your external address, if possible.
        --enr-tcp-port <PORT>
            The TCP port of the local ENR. Set this only if you are sure other nodes can connect to your local node on
            this port.The --port flag is used if this is not set.
        --enr-udp-port <PORT>
            The UDP port of the local ENR. Set this only if you are sure other nodes can connect to your local node on
            this port.
        --eth1-blocks-per-log-query <BLOCKS>
            Specifies the number of blocks that a deposit log query should span. This will reduce the size of responses
            from the Eth1 endpoint. [default: 1000]
        --eth1-cache-follow-distance <BLOCKS>
            Specifies the distance between the Eth1 chain head and the last block which should be imported into the
            cache. Setting this value lower can help compensate for irregular Proof-of-Work block times, but setting it
            too low can make the node vulnerable to re-orgs.
        --eth1-endpoint <HTTP-ENDPOINT>
            Deprecated. Use --eth1-endpoints.
        --eth1-endpoints <HTTP-ENDPOINTS>
            One or more comma-delimited server endpoints for web3 connection. If multiple endpoints are given the
            endpoints are used as fallback in the given order. Also enables the --eth1 flag. Defaults to
            http://127.0.0.1:8545.
        --execution-endpoint <EXECUTION-ENDPOINT>
            Server endpoint for an execution layer jwt authenticated HTTP JSON-RPC connection. Uses the same endpoint to
            populate the deposit cache. Also enables the --merge flag.If not provided, uses the default value of
            http://127.0.0.1:8551
        --execution-jwt <EXECUTION-JWT>
            File path which contains the hex-encoded JWT secret for the execution endpoint provided in the --execution-
            endpoint flag.
        --execution-jwt-id <EXECUTION-JWT-ID>
            Used by the beacon node to communicate a unique identifier to execution nodes during JWT authentication. It
            corresponds to the 'id' field in the JWT claims object.Set to empty by default
        --execution-jwt-version <EXECUTION-JWT-VERSION>
            Used by the beacon node to communicate a client version to execution nodes during JWT authentication. It
            corresponds to the 'clv' field in the JWT claims object.Set to empty by default
        --fork-choice-before-proposal-timeout <fork-choice-before-proposal-timeout>
            Set the maximum number of milliseconds to wait for fork choice before proposing a block. You can prevent
            waiting at all by setting the timeout to 0, however you risk proposing atop the wrong parent block.
            [default: 250]
        --freezer-dir <DIR>
            Data directory for the freezer database.
        --graffiti <GRAFFITI>
            Specify your custom graffiti to be included in blocks. Defaults to the current version and commit, truncated
            to fit in 32 bytes.
        --http-address <ADDRESS>
            Set the listen address for the RESTful HTTP API server. [default: 127.0.0.1]
        --http-allow-origin <ORIGIN>
            Set the value of the Access-Control-Allow-Origin response HTTP header. Use * to allow any origin (not
            recommended in production). If no value is supplied, the CORS allowed origin is set to the listen address of
            this server (e.g., http://localhost:5052).
        --http-port <PORT>
            Set the listen TCP port for the RESTful HTTP API server. [default: 5052]
        --http-spec-fork <http-spec-fork>
            Serve the spec for a specific hard fork on /eth/v1/config/spec. It should not be necessary to set this flag.
        --http-tls-cert <http-tls-cert>
            The path of the certificate to be used when serving the HTTP API server over TLS.
        --http-tls-key <http-tls-key>
            The path of the private key to be used when serving the HTTP API server over TLS. Must not be password-
            protected.
        --libp2p-addresses <MULTIADDR>
            One or more comma-delimited multiaddrs to manually connect to a libp2p peer without an ENR.
        --listen-address <ADDRESS>
            The address lighthouse will listen for UDP and TCP connections. [default: 0.0.0.0]
        --log-format <FORMAT>
            Specifies the log format used when emitting logs to the terminal. [possible values: JSON]
        --logfile <FILE>
            File path where the log file will be stored. Once it grows to the value specified in `--logfile-max-size` a
            new log file is generated where future logs are stored. Once the number of log files exceeds the value
            specified in `--logfile-max-number` the oldest log file will be overwritten.
        --logfile-debug-level <LEVEL>
            The verbosity level used when emitting logs to the log file. [default: debug]  [possible values: info,
            debug, trace, warn, error, crit]
        --logfile-max-number <COUNT>
            The maximum number of log files that will be stored. If set to 0, background file logging is disabled.
            [default: 5]
        --logfile-max-size <SIZE>
            The maximum size (in MB) each log file can grow to before rotating. If set to 0, background file logging is
            disabled. [default: 200]
        --max-skip-slots <NUM_SLOTS>
            Refuse to skip more than this many slots when processing a block or attestation. This prevents nodes on
            minority forks from wasting our time and disk space, but could also cause unnecessary consensus failures, so
            is disabled by default.
        --metrics-address <ADDRESS>
            Set the listen address for the Prometheus metrics HTTP server. [default: 127.0.0.1]
        --metrics-allow-origin <ORIGIN>
            Set the value of the Access-Control-Allow-Origin response HTTP header. Use * to allow any origin (not
            recommended in production). If no value is supplied, the CORS allowed origin is set to the listen address of
            this server (e.g., http://localhost:5054).
        --metrics-port <PORT>
            Set the listen TCP port for the Prometheus metrics HTTP server. [default: 5054]
        --monitoring-endpoint <ADDRESS>
            Enables the monitoring service for sending system metrics to a remote endpoint. This can be used to monitor
            your setup on certain services (e.g. beaconcha.in). This flag sets the endpoint where the beacon node
            metrics will be sent. Note: This will send information to a remote sever which may identify and associate
            your validators, IP address and other personal information. Always use a HTTPS connection and never provide
            an untrusted URL.
        --network <network>
            Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
            kiln, ropsten, sepolia]
        --network-dir <DIR>
            Data directory for network keys. Defaults to network/ inside the beacon node dir.
        --port <PORT>
            The TCP/UDP port to listen on. The UDP port can be modified by the --discovery-port flag. [default: 9000]
        --safe-slots-to-import-optimistically <INTEGER>
            Used to coordinate manual overrides of the SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY parameter. This flag should
            only be used if the user has a clear understanding that the broad Ethereum community has elected to override
            this parameter in the event of an attack at the PoS transition block. Incorrect use of this flag can cause
            your node to possibly accept an invalid chain or sync more slowly. Be extremely careful with this flag.
        --slasher-att-cache-size <COUNT>
            Set the maximum number of attestation roots for the slasher to cache
        --slasher-backend <slasher-backend>
            Set the database backend to be used by the slasher. [possible values: mdbx, disabled]
        --slasher-chunk-size <EPOCHS>
            Number of epochs per validator per chunk stored on disk.
        --slasher-dir <PATH>
            Set the slasher's database directory.
        --slasher-history-length <EPOCHS>
            Configure how many epochs of history the slasher keeps. Immutable after initialization.
        --slasher-max-db-size <GIGABYTES>
            Maximum size of the MDBX database used by the slasher.
        --slasher-slot-offset <SECONDS>
            Set the delay from the start of the slot at which the slasher should ingest attestations. Only effective if
            the slasher-update-period is a multiple of the slot duration.
        --slasher-update-period <SECONDS>
            Configure how often the slasher runs batch processing.
        --slasher-validator-chunk-size <NUM_VALIDATORS>
            Number of validators per chunk stored on disk.
        --slots-per-restore-point <SLOT_COUNT>
            Specifies how often a freezer DB restore point should be stored. Cannot be changed after initialization.
            [default: 8192 (mainnet) or 64 (minimal)]
    -s, --spec <DEPRECATED>
            This flag is deprecated, it will be disallowed in a future release. This value is now derived from the
            --network or --testnet-dir flags.
        --suggested-fee-recipient <SUGGESTED-FEE-RECIPIENT>
            Once the merge has happened, this address will receive transaction fees collected from any blocks produced
            by this node. Defaults to a junk address whilst the merge is in development stages. THE DEFAULT VALUE WILL
            BE REMOVED BEFORE THE MERGE ENTERS PRODUCTION
        --target-peers <target-peers>
            The target number of peers. [default: 80]
        --terminal-block-hash-epoch-override <EPOCH>
            Used to coordinate manual overrides to the TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH parameter. This flag should
            only be used if the user has a clear understanding that the broad Ethereum community has elected to override
            the terminal PoW block. Incorrect use of this flag will cause your node to experience a consensus
                                   failure. Be extremely careful with this flag.
        --terminal-block-hash-override <TERMINAL_BLOCK_HASH>
            Used to coordinate manual overrides to the TERMINAL_BLOCK_HASH parameter. This flag should only be used if
            the user has a clear understanding that the broad Ethereum community has elected to override the terminal
            PoW block. Incorrect use of this flag will cause your node to experience a consensus
                                   failure. Be extremely careful with this flag.
        --terminal-total-difficulty-override <INTEGER>
            Used to coordinate manual overrides to the TERMINAL_TOTAL_DIFFICULTY parameter. Accepts a 256-bit decimal
            integer (not a hex value). This flag should only be used if the user has a clear understanding that the
            broad Ethereum community has elected to override the terminal difficulty. Incorrect use of this flag will
            cause your node to experience a consensus
                                   failure. Be extremely careful with this flag.
    -t, --testnet-dir <DIR>
            Path to directory containing eth2_testnet specs. Defaults to a hard-coded Lighthouse testnet. Only effective
            if there is no existing database.
        --trusted-peers <TRUSTED_PEERS>
            One or more comma-delimited trusted peer ids which always have the highest score according to the peer
            scoring system.
        --validator-monitor-file <PATH>
            As per --validator-monitor-pubkeys, but the comma-separated list is contained within a file at the given
            path.
        --validator-monitor-pubkeys <PUBKEYS>
            A comma-separated list of 0x-prefixed validator public keys. These validators will receive special
            monitoring and additional logging.
        --wss-checkpoint <WSS_CHECKPOINT>
            Specify a weak subjectivity checkpoint in `block_root:epoch` format to verify the node's sync against. The
            block root should be 0x-prefixed. Note that this flag is for verification only, to perform a checkpoint sync
            from a recent state use --checkpoint-sync-url.

2.4.0[edit]

lighthouse-beacon_node 2.4.0
Sigma Prime <[email protected]>
The primary component which connects to the Ethereum 2.0 P2P network and downloads, verifies and stores blocks. Provides
a HTTP API for querying the beacon chain and publishing messages to the network.
USAGE:
    lighthouse beacon_node [FLAGS] [OPTIONS]
FLAGS:
        --compact-db                     If present, apply compaction to the database on start-up. Use with caution. It
                                         is generally not recommended unless auto-compaction is disabled.
        --disable-discovery              Disables the discv5 discovery protocol. The node will not search for new peers
                                         or participate in the discovery protocol.
    -x, --disable-enr-auto-update        Discovery automatically updates the nodes local ENR with an external IP address
                                         and port as seen by other peers on the network. This disables this feature,
                                         fixing the ENR's IP/PORT to those specified on boot.
        --disable-lock-timeouts          Disable the timeouts applied to some internal locks by default. This can lead
                                         to less spurious failures on slow hardware but is considered experimental as it
                                         may obscure performance issues.
        --disable-malloc-tuning          If present, do not configure the system allocator. Providing this flag will
                                         generally increase memory usage, it should only be provided when debugging
                                         specific memory allocation issues.
        --disable-packet-filter          Disables the discovery packet filter. Useful for testing in smaller networks
        --disable-upnp                   Disables UPnP support. Setting this will prevent Lighthouse from attempting to
                                         automatically establish external port mappings.
        --dummy-eth1                     If present, uses an eth1 backend that generates static dummy data.Identical to
                                         the method used at the 2019 Canada interop.
        --enable-private-discovery       Lighthouse by default does not discover private IP addresses. Set this flag to
                                         enable connection attempts to local addresses.
    -e, --enr-match                      Sets the local ENR IP address and port to match those set for lighthouse.
                                         Specifically, the IP address will be the value of --listen-address and the UDP
                                         port will be --discovery-port.
        --eth1                           If present the node will connect to an eth1 node. This is required for block
                                         production, you must use this flag if you wish to serve a validator.
        --eth1-purge-cache               Purges the eth1 block and deposit caches
    -h, --help                           Prints help information
        --http                           Enable the RESTful HTTP API server. Disabled by default.
        --http-allow-sync-stalled        Forces the HTTP to indicate that the node is synced when sync is actually
                                         stalled. This is useful for very small testnets. TESTING ONLY. DO NOT USE ON
                                         MAINNET.
        --http-disable-legacy-spec       Disable serving of legacy data on the /config/spec endpoint. May be disabled by
                                         default in a future release.
        --http-enable-tls                Serves the RESTful HTTP API server over TLS. This feature is currently
                                         experimental.
        --import-all-attestations        Import and aggregate all attestations, regardless of validator subscriptions.
                                         This will only import attestations from already-subscribed subnets, use with
                                         --subscribe-all-subnets to ensure all attestations are received for import.
        --logfile-compress               If present, compress old log files. This can help reduce the space needed to
                                         store old logs.
        --merge                          Deprecated. The feature activates automatically when --execution-endpoint is
                                         supplied.
        --metrics                        Enable the Prometheus metrics HTTP server. Disabled by default.
        --private                        Prevents sending various client identification information.
        --purge-db                       If present, the chain database will be deleted. Use with caution.
        --reconstruct-historic-states    After a checkpoint sync, reconstruct historic states in the database.
        --shutdown-after-sync            Shutdown beacon node as soon as sync is completed. Backfill sync will not be
                                         performed before shutdown.
        --slasher                        Run a slasher alongside the beacon node. It is currently only recommended for
                                         expert users because of the immaturity of the slasher UX and the extra
                                         resources required.
        --slasher-broadcast              Broadcast slashings found by the slasher to the rest of the network [disabled
                                         by default].
        --staking                        Standard option for a staking beacon node. Equivalent to `lighthouse bn --http
                                         --eth1 `. This will enable the http server on localhost:5052 and try connecting
                                         to an eth1 node on localhost:8545
        --subscribe-all-subnets          Subscribe to all subnets regardless of validator count. This will also
                                         advertise the beacon node as being long-lived subscribed to all subnets.
        --validator-monitor-auto         Enables the automatic detection and monitoring of validators connected to the
                                         HTTP API and using the subnet subscription endpoint. This generally has the
                                         effect of providing additional logging and metrics for locally controlled
                                         validators.
    -V, --version                        Prints version information
    -z, --zero-ports                     Sets all listening TCP/UDP ports to 0, allowing the OS to choose some arbitrary
                                         free ports.
OPTIONS:
        --auto-compact-db <auto-compact-db>
            Enable or disable automatic compaction of the database on finalization. [default: true]
        --block-cache-size <SIZE>
            Specifies how many blocks the database should cache in memory [default: 5]
        --boot-nodes <ENR/MULTIADDR LIST>
            One or more comma-delimited base64-encoded ENR's to bootstrap the p2p network. Multiaddr is also supported.
        --builder <builder>
            The URL of a service compatible with the MEV-boost API.
        --checkpoint-block <BLOCK_SSZ>
            Set a checkpoint block to start syncing from. Must be aligned and match --checkpoint-state. Using
            --checkpoint-sync-url instead is recommended.
        --checkpoint-state <STATE_SSZ>
            Set a checkpoint state to start syncing from. Must be aligned and match --checkpoint-block. Using
            --checkpoint-sync-url instead is recommended.
        --checkpoint-sync-url <BEACON_NODE>
            Set the remote beacon node HTTP endpoint to use for checkpoint sync.
    -d, --datadir <DIR>
            Used to specify a custom root data directory for lighthouse keys and databases. Defaults to
            $HOME/.lighthouse/{network} where network is the value of the `network` flag Note: Users should specify
            separate custom datadirs for different networks.
        --debug-level <LEVEL>
            Specifies the verbosity level used when emitting logs to the terminal. [default: info]  [possible values:
            info, debug, trace, warn, error, crit]
        --discovery-port <PORT>
            The UDP port that discovery will listen on. Defaults to `port`
        --enr-address <ADDRESS>
            The IP address/ DNS address to broadcast to other peers on how to reach this node. If a DNS address is
            provided, the enr-address is set to the IP address it resolves to and does not auto-update based on PONG
            responses in discovery. Set this only if you are sure other nodes can connect to your local node on this
            address. Discovery will automatically find your external address,if possible.
        --enr-tcp-port <PORT>
            The TCP port of the local ENR. Set this only if you are sure other nodes can connect to your local node on
            this port.The --port flag is used if this is not set.
        --enr-udp-port <PORT>
            The UDP port of the local ENR. Set this only if you are sure other nodes can connect to your local node on
            this port.
        --eth1-blocks-per-log-query <BLOCKS>
            Specifies the number of blocks that a deposit log query should span. This will reduce the size of responses
            from the Eth1 endpoint. [default: 1000]
        --eth1-cache-follow-distance <BLOCKS>
            Specifies the distance between the Eth1 chain head and the last block which should be imported into the
            cache. Setting this value lower can help compensate for irregular Proof-of-Work block times, but setting it
            too low can make the node vulnerable to re-orgs.
        --eth1-endpoint <HTTP-ENDPOINT>                                                Deprecated. Use --eth1-endpoints.
        --eth1-endpoints <HTTP-ENDPOINTS>
            One or more comma-delimited server endpoints for web3 connection. If multiple endpoints are given the
            endpoints are used as fallback in the given order. Also enables the --eth1 flag. Defaults to
            http://127.0.0.1:8545.
        --execution-endpoint <EXECUTION-ENDPOINT>
            Server endpoint for an execution layer jwt authenticated HTTP JSON-RPC connection. Uses the same endpoint to
            populate the deposit cache. Also enables the --merge flag.If not provided, uses the default value of
            http://127.0.0.1:8551
        --execution-jwt <EXECUTION-JWT>
            File path which contains the hex-encoded JWT secret for the execution endpoint provided in the --execution-
            endpoint flag.
        --execution-jwt-id <EXECUTION-JWT-ID>
            Used by the beacon node to communicate a unique identifier to execution nodes during JWT authentication. It
            corresponds to the 'id' field in the JWT claims object.Set to empty by deafult
        --execution-jwt-version <EXECUTION-JWT-VERSION>
            Used by the beacon node to communicate a client version to execution nodes during JWT authentication. It
            corresponds to the 'clv' field in the JWT claims object.Set to empty by deafult
        --fork-choice-before-proposal-timeout <fork-choice-before-proposal-timeout>
            Set the maximum number of milliseconds to wait for fork choice before proposing a block. You can prevent
            waiting at all by setting the timeout to 0, however you risk proposing atop the wrong parent block.
            [default: 250]
        --freezer-dir <DIR>
            Data directory for the freezer database.
        --graffiti <GRAFFITI>
            Specify your custom graffiti to be included in blocks. Defaults to the current version and commit, truncated
            to fit in 32 bytes.
        --http-address <ADDRESS>
            Set the listen address for the RESTful HTTP API server. [default: 127.0.0.1]
        --http-allow-origin <ORIGIN>
            Set the value of the Access-Control-Allow-Origin response HTTP header. Use * to allow any origin (not
            recommended in production). If no value is supplied, the CORS allowed origin is set to the listen address of
            this server (e.g., http://localhost:5052).
        --http-port <PORT>
            Set the listen TCP port for the RESTful HTTP API server. [default: 5052]
        --http-tls-cert <http-tls-cert>
            The path of the certificate to be used when serving the HTTP API server over TLS.
        --http-tls-key <http-tls-key>
            The path of the private key to be used when serving the HTTP API server over TLS. Must not be password-
            protected.
        --libp2p-addresses <MULTIADDR>
            One or more comma-delimited multiaddrs to manually connect to a libp2p peer without an ENR.
        --listen-address <ADDRESS>
            The address lighthouse will listen for UDP and TCP connections. [default: 0.0.0.0]
        --log-format <FORMAT>
            Specifies the log format used when emitting logs to the terminal. [possible values: JSON]
        --logfile <FILE>
            File path where the log file will be stored. Once it grows to the value specified in `--logfile-max-size` a
            new log file is generated where future logs are stored. Once the number of log files exceeds the value
            specified in `--logfile-max-number` the oldest log file will be overwritten.
        --logfile-debug-level <LEVEL>
            The verbosity level used when emitting logs to the log file. [default: debug]  [possible values: info,
            debug, trace, warn, error, crit]
        --logfile-max-number <COUNT>
            The maximum number of log files that will be stored. If set to 0, background file logging is disabled.
            [default: 5]
        --logfile-max-size <SIZE>
            The maximum size (in MB) each log file can grow to before rotating. If set to 0, background file logging is
            disabled. [default: 200]
        --max-skip-slots <NUM_SLOTS>
            Refuse to skip more than this many slots when processing a block or attestation. This prevents nodes on
            minority forks from wasting our time and disk space, but could also cause unnecessary consensus failures, so
            is disabled by default.
        --metrics-address <ADDRESS>
            Set the listen address for the Prometheus metrics HTTP server. [default: 127.0.0.1]
        --metrics-allow-origin <ORIGIN>
            Set the value of the Access-Control-Allow-Origin response HTTP header. Use * to allow any origin (not
            recommended in production). If no value is supplied, the CORS allowed origin is set to the listen address of
            this server (e.g., http://localhost:5054).
        --metrics-port <PORT>
            Set the listen TCP port for the Prometheus metrics HTTP server. [default: 5054]
        --monitoring-endpoint <ADDRESS>
            Enables the monitoring service for sending system metrics to a remote endpoint. This can be used to monitor
            your setup on certain services (e.g. beaconcha.in). This flag sets the endpoint where the beacon node
            metrics will be sent. Note: This will send information to a remote sever which may identify and associate
            your validators, IP address and other personal information. Always use a HTTPS connection and never provide
            an untrusted URL.
        --network <network>
            Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
            kiln, ropsten, sepolia]
        --network-dir <DIR>
            Data directory for network keys. Defaults to network/ inside the beacon node dir.
        --port <PORT>
            The TCP/UDP port to listen on. The UDP port can be modified by the --discovery-port flag. [default: 9000]
        --safe-slots-to-import-optimistically <INTEGER>
            Used to coordinate manual overrides of the SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY parameter. This flag should
            only be used if the user has a clear understanding that the broad Ethereum community has elected to override
            this parameter in the event of an attack at the PoS transition block. Incorrect use of this flag can cause
            your node to possibly accept an invalid chain or sync more slowly. Be extremely careful with this flag.
        --slasher-att-cache-size <COUNT>
            Set the maximum number of attestation roots for the slasher to cache
        --slasher-chunk-size <EPOCHS>
            Number of epochs per validator per chunk stored on disk.
        --slasher-dir <PATH>
            Set the slasher's database directory.
        --slasher-history-length <EPOCHS>
            Configure how many epochs of history the slasher keeps. Immutable after initialization.
        --slasher-max-db-size <GIGABYTES>
            Maximum size of the MDBX database used by the slasher.
        --slasher-slot-offset <SECONDS>
            Set the delay from the start of the slot at which the slasher should ingest attestations. Only effective if
            the slasher-update-period is a multiple of the slot duration.
        --slasher-update-period <SECONDS>
            Configure how often the slasher runs batch processing.
        --slasher-validator-chunk-size <NUM_VALIDATORS>
            Number of validators per chunk stored on disk.
        --slots-per-restore-point <SLOT_COUNT>
            Specifies how often a freezer DB restore point should be stored. Cannot be changed after initialization.
            [default: 8192 (mainnet) or 64 (minimal)]
    -s, --spec <DEPRECATED>
            This flag is deprecated, it will be disallowed in a future release. This value is now derived from the
            --network or --testnet-dir flags.
        --suggested-fee-recipient <SUGGESTED-FEE-RECIPIENT>
            Once the merge has happened, this address will receive transaction fees collected from any blocks produced
            by this node. Defaults to a junk address whilst the merge is in development stages. THE DEFAULT VALUE WILL
            BE REMOVED BEFORE THE MERGE ENTERS PRODUCTION
        --target-peers <target-peers>
            The target number of peers. [default: 80]
        --terminal-block-hash-epoch-override <EPOCH>
            Used to coordinate manual overrides to the TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH parameter. This flag should
            only be used if the user has a clear understanding that the broad Ethereum community has elected to override
            the terminal PoW block. Incorrect use of this flag will cause your node to experience a consensus
                                   failure. Be extremely careful with this flag.
        --terminal-block-hash-override <TERMINAL_BLOCK_HASH>
            Used to coordinate manual overrides to the TERMINAL_BLOCK_HASH parameter. This flag should only be used if
            the user has a clear understanding that the broad Ethereum community has elected to override the terminal
            PoW block. Incorrect use of this flag will cause your node to experience a consensus
                                   failure. Be extremely careful with this flag.
        --terminal-total-difficulty-override <INTEGER>
            Used to coordinate manual overrides to the TERMINAL_TOTAL_DIFFICULTY parameter. Accepts a 256-bit decimal
            integer (not a hex value). This flag should only be used if the user has a clear understanding that the
            broad Ethereum community has elected to override the terminal difficulty. Incorrect use of this flag will
            cause your node to experience a consensus
                                   failure. Be extremely careful with this flag.
    -t, --testnet-dir <DIR>
            Path to directory containing eth2_testnet specs. Defaults to a hard-coded Lighthouse testnet. Only effective
            if there is no existing database.
        --trusted-peers <TRUSTED_PEERS>
            One or more comma-delimited trusted peer ids which always have the highest score according to the peer
            scoring system.
        --validator-monitor-file <PATH>
            As per --validator-monitor-pubkeys, but the comma-separated list is contained within a file at the given
            path.
        --validator-monitor-pubkeys <PUBKEYS>
            A comma-separated list of 0x-prefixed validator public keys. These validators will receive special
            monitoring and additional logging.
        --wss-checkpoint <WSS_CHECKPOINT>
            Specify a weak subjectivity checkpoint in `block_root:epoch` format to verify the node's sync against. The
            block root should be 0x-prefixed. Note that this flag is for verification only, to perform a checkpoint sync
            from a recent state use --checkpoint-sync-url.


See also[edit]

Advertising: