Difference between revisions of "Lighthouse beacon node --help"
Jump to navigation
Jump to search
(18 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{lc}} | {{lc}} | ||
− | [[lighthouse | + | [[lighthouse beacon_node]] |
+ | [[5052]] | ||
+ | [[--http-port]] | ||
+ | == lighthouse-beacon_node 4.3.0 == | ||
+ | |||
+ | 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 == | ||
+ | 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 == | ||
lighthouse-beacon_node 2.4.0 | lighthouse-beacon_node 2.4.0 | ||
Sigma Prime <[email protected]> | Sigma Prime <[email protected]> | ||
Line 89: | Line 859: | ||
One or more comma-delimited base64-encoded ENR's to bootstrap the p2p network. Multiaddr is also supported. | One or more comma-delimited base64-encoded ENR's to bootstrap the p2p network. Multiaddr is also supported. | ||
− | --builder <builder> | + | [[--builder]] <builder> |
− | The URL of a service compatible with the MEV-boost API. | + | The URL of a service compatible with the [[MEV]]-boost API. |
--checkpoint-block <BLOCK_SSZ> | --checkpoint-block <BLOCK_SSZ> | ||
Line 301: | Line 1,071: | ||
== See also == | == See also == | ||
+ | * {{lighthouse bn}} | ||
* {{lighthouse}} | * {{lighthouse}} | ||
[[Category:Lighthouse]] | [[Category:Lighthouse]] |
Latest revision as of 06:40, 7 June 2024
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]
lighthouse beacon_node, --execution-endpoint, --execution-jwt, --allow-insecure-genesis-sync
, logs,--checkpoint-sync-url, --help
, checkpoint sync,beacon.log
lighthouse: [ account | beacon_node | boot node | account manager | database manager | validator client ], --help, --version
, Releases, Ligthouse WARN, Paul Hauner, Lighthouse checkpoint sync, Lighthouse logs, Changelog
Advertising: