diff --git a/book/src/help_am.md b/book/src/help_am.md
new file mode 100644
index 0000000000..8bc4b1b252
--- /dev/null
+++ b/book/src/help_am.md
@@ -0,0 +1,86 @@
+#Account Manager
+
+```
+Utilities for generating and managing Ethereum 2.0 accounts.
+
+USAGE:
+ lighthouse.exe account_manager [FLAGS] [OPTIONS] [SUBCOMMAND]
+
+FLAGS:
+ --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.
+ -h, --help Prints help information
+ --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.
+ -V, --version Prints version information
+
+OPTIONS:
+ -d, --datadir
+ 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
+ Specifies the verbosity level used when emitting logs to the terminal. [default: info] [possible values:
+ info, debug, trace, warn, error, crit]
+ --log-format
+ Specifies the log format used when emitting logs to the terminal. [possible values: JSON]
+
+ --logfile
+ 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
+ The verbosity level used when emitting logs to the log file. [default: debug] [possible values: info,
+ debug, trace, warn, error, crit]
+ --logfile-format
+ Specifies the log format used when emitting logs to the logfile. [possible values: DEFAULT, JSON]
+
+ --logfile-max-number
+ The maximum number of log files that will be stored. If set to 0, background file logging is disabled.
+ [default: 5]
+ --logfile-max-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]
+ --network
+ Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
+ sepolia]
+ --safe-slots-to-import-optimistically
+ 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.
+ -s, --spec
+ This flag is deprecated, it will be disallowed in a future release. This value is now derived from the
+ --network or --testnet-dir flags.
+ --terminal-block-hash-epoch-override
+ 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
+ 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
+ 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
+ Path to directory containing eth2_testnet specs. Defaults to a hard-coded Lighthouse testnet. Only effective
+ if there is no existing database.
+
+SUBCOMMANDS:
+ help Prints this message or the help of the given subcommand(s)
+ validator Provides commands for managing Eth2 validators.
+ wallet Manage wallets, from which validator keys can be derived.
+```
\ No newline at end of file
diff --git a/book/src/help_bn.md b/book/src/help_bn.md
new file mode 100644
index 0000000000..9f051309bb
--- /dev/null
+++ b/book/src/help_bn.md
@@ -0,0 +1,448 @@
+#Beacon Node
+
+```
+Sigma Prime
+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.exe 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
+ Enable or disable automatic compaction of the database on finalization. [default: true]
+
+ --block-cache-size
+ Specifies how many blocks the database should cache in memory [default: 5]
+
+ --boot-nodes
+ One or more comma-delimited base64-encoded ENR's to bootstrap the p2p network. Multiaddr is also supported.
+
+ --builder
+ The URL of a service compatible with the MEV-boost API.
+
+ --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
+ 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
+ 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
+ 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
+ The HTTP user agent to send alongside requests to the builder URL. The default is Lighthouse's version
+ string.
+ --checkpoint-block
+ Set a checkpoint block to start syncing from. Must be aligned and match --checkpoint-state. Using
+ --checkpoint-sync-url instead is recommended.
+ --checkpoint-state
+ 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
+ Set the remote beacon node HTTP endpoint to use for checkpoint sync.
+
+ --checkpoint-sync-url-timeout
+ Set the timeout for checkpoint sync calls to remote beacon node HTTP endpoint. [default: 60]
+
+ -d, --datadir
+ 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
+ Specifies the verbosity level used when emitting logs to the terminal. [default: info] [possible values:
+ info, debug, trace, warn, error, crit]
+ --discovery-port
+ The UDP port that discovery will listen on. Defaults to `port`
+
+ --discovery-port6
+ The UDP port that discovery will listen on over IpV6 if listening over both Ipv4 and IpV6. Defaults to
+ `port6`
+ --enr-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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ Deprecated. Use --eth1-endpoints.
+
+ --eth1-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
+ Server endpoint for an execution layer JWT-authenticated HTTP JSON-RPC connection. Uses the same endpoint to
+ populate the deposit cache.
+ --execution-jwt
+ File path which contains the hex-encoded JWT secret for the execution endpoint provided in the --execution-
+ endpoint flag.
+ --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
+ Hex-encoded JWT secret for the execution endpoint provided in the --execution-endpoint flag.
+
+ --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
+ Unsigned integer to multiply the default execution timeouts by. [default: 1]
+
+ --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
+ Data directory for the freezer database.
+
+ --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
+ Specifies how many states from the freezer database should cache in memory [default: 1]
+
+ --http-address
+ Set the listen address for the RESTful HTTP API server. [default: 127.0.0.1]
+
+ --http-allow-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
+ Set the listen TCP port for the RESTful HTTP API server. [default: 5052]
+
+ --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
+ The path of the certificate to be used when serving the HTTP API server over TLS.
+
+ --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
+ 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
+ One or more comma-delimited multiaddrs to manually connect to a libp2p peer without an ENR.
+
+ --listen-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
+ Specifies the log format used when emitting logs to the terminal. [possible values: JSON]
+
+ --logfile
+ 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
+ The verbosity level used when emitting logs to the log file. [default: debug] [possible values: info,
+ debug, trace, warn, error, crit]
+ --logfile-format
+ Specifies the log format used when emitting logs to the logfile. [possible values: DEFAULT, JSON]
+
+ --logfile-max-number
+ The maximum number of log files that will be stored. If set to 0, background file logging is disabled.
+ [default: 5]
+ --logfile-max-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
+ 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
+ Set the listen address for the Prometheus metrics HTTP server. [default: 127.0.0.1]
+
+ --metrics-allow-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
+ Set the listen TCP port for the Prometheus metrics HTTP server. [default: 5054]
+
+ --monitoring-endpoint
+ 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
+ Defines how many seconds to wait between each message sent to the monitoring-endpoint. Default: 60s
+
+ --network
+ Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
+ sepolia]
+ --network-dir
+ Data directory for network keys. Defaults to network/ inside the beacon node dir.
+
+ --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
+ 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
+ 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
+ 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
+ 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
+ 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
+ Maximum number of epochs since finalization at which proposer reorgs are allowed. Default: 2
+
+ --proposer-reorg-threshold
+ Percentage of vote weight below which to attempt a proposer reorg. Default: 20%
+
+ --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
+ 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
+ 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
+ Set the maximum number of attestation roots for the slasher to cache
+
+ --slasher-backend
+ Set the database backend to be used by the slasher. [possible values: lmdb, disabled]
+
+ --slasher-broadcast
+ Broadcast slashings found by the slasher to the rest of the network [Enabled by default]. [default: true]
+
+ --slasher-chunk-size
+ Number of epochs per validator per chunk stored on disk.
+
+ --slasher-dir
+ Set the slasher's database directory.
+
+ --slasher-history-length
+ Configure how many epochs of history the slasher keeps. Immutable after initialization.
+
+ --slasher-max-db-size
+ Maximum size of the MDBX database used by the slasher.
+
+ --slasher-slot-offset
+ 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
+ Configure how often the slasher runs batch processing.
+
+ --slasher-validator-chunk-size
+ Number of validators per chunk stored on disk.
+
+ --slots-per-restore-point
+ Specifies how often a freezer DB restore point should be stored. Cannot be changed after initialization.
+ [default: 8192 (mainnet) or 64 (minimal)]
+ -s, --spec
+ 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
+ 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
+ The target number of peers.
+
+ --terminal-block-hash-epoch-override
+ 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
+ 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
+ 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
+ Path to directory containing eth2_testnet specs. Defaults to a hard-coded Lighthouse testnet. Only effective
+ if there is no existing database.
+ --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
+ As per --validator-monitor-pubkeys, but the comma-separated list is contained within a file at the given
+ path.
+ --validator-monitor-individual-tracking-threshold
+ 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
+ A comma-separated list of 0x-prefixed validator public keys. These validators will receive special
+ monitoring and additional logging.
+ --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.
+```
\ No newline at end of file
diff --git a/book/src/help_general.md b/book/src/help_general.md
new file mode 100644
index 0000000000..5b02a02aa6
--- /dev/null
+++ b/book/src/help_general.md
@@ -0,0 +1,101 @@
+#Lighthouse General Commands
+
+```
+Sigma Prime
+Ethereum 2.0 client by Sigma Prime. Provides a full-featured beacon node, a validator client and utilities for managing
+validator accounts.
+
+USAGE:
+ lighthouse.exe [FLAGS] [OPTIONS] [SUBCOMMAND]
+
+FLAGS:
+ --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.
+ -l Enables environment logging giving access to sub-protocol logs such as discv5
+ and libp2p
+ -h, --help Prints help information
+ --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.
+ -V, --version Prints version information
+
+OPTIONS:
+ -d, --datadir
+ 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
+ Specifies the verbosity level used when emitting logs to the terminal. [default: info] [possible values:
+ info, debug, trace, warn, error, crit]
+ --log-format
+ Specifies the log format used when emitting logs to the terminal. [possible values: JSON]
+
+ --logfile
+ 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
+ The verbosity level used when emitting logs to the log file. [default: debug] [possible values: info,
+ debug, trace, warn, error, crit]
+ --logfile-format
+ Specifies the log format used when emitting logs to the logfile. [possible values: DEFAULT, JSON]
+
+ --logfile-max-number
+ The maximum number of log files that will be stored. If set to 0, background file logging is disabled.
+ [default: 5]
+ --logfile-max-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]
+ --network
+ Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
+ sepolia]
+ --safe-slots-to-import-optimistically
+ 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.
+ -s, --spec
+ This flag is deprecated, it will be disallowed in a future release. This value is now derived from the
+ --network or --testnet-dir flags.
+ --terminal-block-hash-epoch-override
+ 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
+ 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
+ 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
+ Path to directory containing eth2_testnet specs. Defaults to a hard-coded Lighthouse testnet. Only effective
+ if there is no existing database.
+
+SUBCOMMANDS:
+ account_manager Utilities for generating and managing Ethereum 2.0 accounts. [aliases: a, am, account,
+ account_manager]
+ beacon_node 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. [aliases: b, bn, beacon]
+ boot_node Start a special Lighthouse process that only serves as a discv5 boot-node. This process will
+ *not* import blocks or perform most typical beacon node functions. Instead, it will simply
+ run the discv5 service and assist nodes on the network to discover each other. This is the
+ recommended way to provide a network boot-node since it has a reduced attack surface
+ compared to a full beacon node.
+ database_manager Manage a beacon node database [aliases: db]
+ help Prints this message or the help of the given subcommand(s)
+ validator_client When connected to a beacon node, performs the duties of a staked validator (e.g., proposing
+ blocks and attestations). [aliases: v, vc, validator]
+```
\ No newline at end of file
diff --git a/book/src/help_vc.md b/book/src/help_vc.md
new file mode 100644
index 0000000000..f879af6434
--- /dev/null
+++ b/book/src/help_vc.md
@@ -0,0 +1,204 @@
+#Validator Client
+
+```
+When connected to a beacon node, performs the duties of a staked validator (e.g., proposing blocks and attestations).
+
+USAGE:
+ lighthouse.exe validator_client [FLAGS] [OPTIONS]
+
+FLAGS:
+ --allow-unsynced DEPRECATED: this flag does nothing
+ --builder-proposals
+ If this flag is set, Lighthouse will query the Beacon Node for only block headers during proposals and will
+ sign over headers. Useful for outsourcing execution payload construction during proposals.
+ --delete-lockfiles
+ DEPRECATED. This flag does nothing and will be removed in a future release.
+
+ --disable-auto-discover
+ If present, do not attempt to discover new validators in the validators-dir. Validators will need to be
+ manually added to the validator_definitions.yml file.
+ --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-run-on-all
+ By default, Lighthouse publishes attestation, sync committee subscriptions and proposer preparation messages
+ to all beacon nodes provided in the `--beacon-nodes flag`. This option changes that behaviour such that
+ these api calls only go out to the first available and synced beacon node
+ --enable-doppelganger-protection
+ If this flag is set, Lighthouse will delay startup for three epochs and monitor for messages on the network
+ by any of the validators managed by this client. This will result in three (possibly four) epochs worth of
+ missed attestations. If an attestation is detected during this period, it means it is very likely that you
+ are running a second validator client with the same keys. This validator client will immediately shutdown if
+ this is detected in order to avoid potentially committing a slashable offense. Use this flag in order to
+ ENABLE this functionality, without this flag Lighthouse will begin attesting immediately.
+ --enable-high-validator-count-metrics
+ Enable per validator metrics for > 64 validators. Note: This flag is automatically enabled for <= 64
+ validators. Enabling this metric for higher validator counts will lead to higher volume of prometheus
+ metrics being collected.
+ -h, --help Prints help information
+ --http Enable the RESTful HTTP API server. Disabled by default.
+ --init-slashing-protection
+ If present, do not require the slashing protection database to exist before running. You SHOULD NOT use this
+ flag unless you're certain that a new slashing protection database is required. Usually, your database will
+ have been initialized when you imported your validator keys. If you misplace your database and then run with
+ this flag you risk being slashed.
+ --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.
+ --strict-fee-recipient
+ [DEPRECATED] If this flag is set, Lighthouse will refuse to sign any block whose `fee_recipient` does not
+ match the `suggested_fee_recipient` sent by this validator. This applies to both the normal block proposal
+ flow, as well as block proposals through the builder API. Proposals through the builder API are more likely
+ to have a discrepancy in `fee_recipient` so you should be aware of how your connected relay sends proposer
+ payments before using this flag. If this flag is used, a fee recipient mismatch in the builder API flow will
+ result in a fallback to the local execution engine for payload construction, where a strict fee recipient
+ check will still be applied.
+ --unencrypted-http-transport
+ This is a safety flag to ensure that the user is aware that the http transport is unencrypted and using a
+ custom HTTP address is unsafe.
+ --use-long-timeouts
+ If present, the validator client will use longer timeouts for requests made to the beacon node. This flag is
+ generally not recommended, longer timeouts can cause missed duties when fallbacks are used.
+ -V, --version Prints version information
+
+OPTIONS:
+ --beacon-node
+ Deprecated. Use --beacon-nodes.
+
+ --beacon-nodes
+ Comma-separated addresses to one or more beacon node HTTP APIs. Default is http://localhost:5052.
+
+ --beacon-nodes-tls-certs
+ Comma-separated paths to custom TLS certificates to use when connecting to a beacon node (and/or proposer
+ node). These certificates must be in PEM format and are used in addition to the OS trust store. Commas must
+ only be used as a delimiter, and must not be part of the certificate path.
+ --builder-registration-timestamp-override
+ This flag takes a unix timestamp value that will be used to override the timestamp used in the builder api
+ registration
+ -d, --datadir
+ 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
+ Specifies the verbosity level used when emitting logs to the terminal. [default: info] [possible values:
+ info, debug, trace, warn, error, crit]
+ --gas-limit
+ The gas limit to be used in all builder proposals for all validators managed by this validator client. Note
+ this will not necessarily be used if the gas limit set here moves too far from the previous block's gas
+ limit. [default: 30,000,000]
+ --graffiti
+ Specify your custom graffiti to be included in blocks.
+
+ --graffiti-file
+ Specify a graffiti file to load validator graffitis from.
+
+ --http-address
+ Set the address for the HTTP address. The HTTP server is not encrypted and therefore it is unsafe to publish
+ on a public network. When this flag is used, it additionally requires the explicit use of the
+ `--unencrypted-http-transport` flag to ensure the user is aware of the risks involved. For access via the
+ Internet, users should apply transport-layer security like a HTTPS reverse-proxy or SSH tunnelling.
+ --http-allow-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:5062).
+ --http-port
+ Set the listen TCP port for the RESTful HTTP API server. [default: 5062]
+
+ --latency-measurement-service
+ Set to 'true' to enable a service that periodically attempts to measure latency to BNs. Set to 'false' to
+ disable. [default: true]
+ --log-format
+ Specifies the log format used when emitting logs to the terminal. [possible values: JSON]
+
+ --logfile
+ 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
+ The verbosity level used when emitting logs to the log file. [default: debug] [possible values: info,
+ debug, trace, warn, error, crit]
+ --logfile-format
+ Specifies the log format used when emitting logs to the logfile. [possible values: DEFAULT, JSON]
+
+ --logfile-max-number
+ The maximum number of log files that will be stored. If set to 0, background file logging is disabled.
+ [default: 5]
+ --logfile-max-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]
+ --metrics-address
+ Set the listen address for the Prometheus metrics HTTP server. [default: 127.0.0.1]
+
+ --metrics-allow-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:5064).
+ --metrics-port
+ Set the listen TCP port for the Prometheus metrics HTTP server. [default: 5064]
+
+ --monitoring-endpoint
+ 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
+ Defines how many seconds to wait between each message sent to the monitoring-endpoint. Default: 60s
+
+ --network
+ Name of the Eth2 chain Lighthouse will sync and follow. [possible values: mainnet, prater, goerli, gnosis,
+ sepolia]
+ --proposer-nodes
+ Comma-separated addresses to one or more beacon node HTTP APIs. These specify nodes that are used to send
+ beacon block proposals. A failure will revert back to the standard beacon nodes specified in --beacon-nodes.
+ --safe-slots-to-import-optimistically
+ 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.
+ --secrets-dir
+ The directory which contains the password to unlock the validator voting keypairs. Each password should be
+ contained in a file where the name is the 0x-prefixed hex representation of the validators voting public
+ key. Defaults to ~/.lighthouse/{network}/secrets.
+ --server
+ Deprecated. Use --beacon-nodes.
+
+ -s, --spec
+ 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
+ Once the merge has happened, this address will receive transaction fees from blocks proposed by this
+ validator client. If a fee recipient is configured in the validator definitions it takes priority over this
+ value.
+ --terminal-block-hash-epoch-override
+ 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
+ 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
+ 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
+ Path to directory containing eth2_testnet specs. Defaults to a hard-coded Lighthouse testnet. Only effective
+ if there is no existing database.
+ --validator-registration-batch-size
+ Defines the number of validators per validator/register_validator request sent to the BN. This value can be
+ reduced to avoid timeouts from builders. [default: 500]
+ --validators-dir
+ The directory which contains the validator keystores, deposit data for each validator along with the common
+ slashing protection database and the validator_definitions.yml
+```
\ No newline at end of file
diff --git a/scripts/cli.sh b/scripts/cli.sh
index 7d378e8533..b0ba7b96a3 100755
--- a/scripts/cli.sh
+++ b/scripts/cli.sh
@@ -36,24 +36,24 @@ general_cli=$($CMD --help)
bn_cli=$($CMD bn --help)
vc_cli=$($CMD vc --help)
am_cli=$($CMD am --help)
-vm_cli=$($CMD vm --help)
+#vm_cli=$($CMD vm --help)
general=./help_general.md
bn=./help_bn.md
vc=./help_vc.md
am=./help_am.md
-vm=./help_vm.md
+#vm=./help_vm.md
# create .md files
write_to_file "$general_cli" "$general" "Lighthouse General Commands"
write_to_file "$bn_cli" "$bn" "Beacon Node"
write_to_file "$vc_cli" "$vc" "Validator Client"
write_to_file "$am_cli" "$am" "Account Manager"
-write_to_file "$vm_cli" "$vm" "Validator Manager"
+#write_to_file "$vm_cli" "$vm" "Validator Manager"
#input 1 = $1 = old files; input 2 = $2 = new files
-old_files=(./book/src/help_general.md ./book/src/help_bn.md ./book/src/help_vc.md ./book/src/help_am.md ./book/src/help_vm.md)
-new_files=($general $bn $vc $am $vm)
+old_files=(./book/src/help_general.md ./book/src/help_bn.md ./book/src/help_vc.md ./book/src/help_am.md)
+new_files=($general $bn $vc $am)
check() {
if [[ -f $1 ]]; # check for existence of file
@@ -80,10 +80,10 @@ check ${old_files[0]} ${new_files[0]}
check ${old_files[1]} ${new_files[1]}
check ${old_files[2]} ${new_files[2]}
check ${old_files[3]} ${new_files[3]}
-check ${old_files[4]} ${new_files[4]}
+#check ${old_files[4]} ${new_files[4]}
# remove help files
-rm -f help_general.md help_bn.md help_vc.md help_am.md help_vm.md
+rm -f help_general.md help_bn.md help_vc.md help_am.md
# only exit at the very end
if [[ $changes == true ]]; then