dev CLI Command
Quickly bootstrap a beacon node and multiple validators. Use for development and testing
Examplesโ
Start a single beacon node with 8 interop validators
./lodestar dev --genesisValidators 8 --reset
dev Optionsโ
--dataDirโ
Lodestar root data directory
type: string
--networkโ
Name of the Ethereum Consensus chain network to join
type: string
choices: "mainnet", "gnosis", "sepolia", "hoodi", "chiado", "ephemery", "dev"
default: "mainnet"
--paramsFileโ
Network configuration file
type: string
--rcConfigโ
RC file to supplement command line args, accepted formats: .yml, .yaml, .json
type: string
--supernodeโ
Subscribe to and custody all data column sidecar subnets
type: boolean
--semiSupernodeโ
Subscribe to and custody half of the data column sidecar subnets to support blob reconstruction, enabling more efficient data availability with lower bandwidth and storage requirements compared to a supernode.
type: boolean
--genesisStateFileโ
Path or URL to download a genesis state file in ssz-encoded format
type: string
--checkpointSyncUrlโ
Server url hosting Beacon Node APIs to fetch weak subjectivity state. Fetch latest finalized by default, else set --wssCheckpoint
type: string
--checkpointStateโ
File path or url to finalized checkpoint state to start syncing from
type: string
--wssCheckpointโ
Start beacon node off a state at the provided weak subjectivity checkpoint, to be supplied in <blockRoot>:<epoch> format. For example, 0x1234:100 will sync and start off from the weak subjectivity state at checkpoint of epoch 100 with block root 0x1234.
type: string
--forceCheckpointSyncโ
Force syncing from checkpoint state even if db state is within weak subjectivity period. This helps to avoid long sync times after node has been offline for a while.
type: boolean
--ignoreWeakSubjectivityCheckโ
Ignore the checkpoint sync state failing the weak subjectivity check. This is relevant in testnets where the weak subjectivity period is too small for even few epochs of non finalization causing last finalized to be out of range. This flag is not recommended for mainnet use.
type: boolean
--persistNetworkIdentityโ
Whether to reuse the same peer-id across restarts. Validator custody requires custody group count to persist relative to a given ENR. Setting to false will reset ENR and validator custody requirements on restarts.
type: boolean
default: true
--privateโ
Do not send implementation details over p2p identify protocol, and in builder and execution engine requests
type: boolean
--validatorMonitorLogsโ
Log validator monitor events as info.
type: boolean
--disableLightClientServerโ
Disable light client server.
type: boolean
--logLevelโ
Logging verbosity level for emitting logs to terminal
type: string
choices: "error", "warn", "info", "verbose", "debug", "trace"
default: "info"
--logFileโ
Path to output all logs to a persistent log file, use 'none' to disable
type: string
--logFileLevelโ
Logging verbosity level for emitting logs to file
type: string
choices: "error", "warn", "info", "verbose", "debug", "trace"
default: "debug"
--logFileDailyRotateโ
Daily rotate log files, set to an integer to limit the file count, set to 0 (zero) to disable rotation
type: number
default: 5
--restโ
Enable/disable HTTP API
type: boolean
default: true
--rest.namespaceโ
Pick namespaces to expose for HTTP API. Set to 'all' (or '*') to enable all namespaces
type: string[]
choices: "beacon", "config", "debug", "events", "lightclient", "lodestar", "node", "proof", "validator", "*", "all"
default: ["beacon","config","debug","events","node","validator","lightclient"]
--rest.corsโ
Configures the Access-Control-Allow-Origin CORS header for HTTP API. Use 'all' to allow all origins
type: string
default: "*"
--rest.addressโ
Set host for HTTP API
type: string
default: "127.0.0.1"
--rest.portโ
Set port for HTTP API
type: number
default: 9596
--rest.swaggerUIโ
Enable Swagger UI for API exploration at http://{address}:{port}/documentation
type: boolean
default: true
--suggestedFeeRecipientโ
Specify fee recipient default for collecting the EL block fees and rewards (a hex string representing 20 bytes address: ^0x[a-fA-F0-9]{40}$). It would be possible (WIP) to override this per validator key using config or key manager API. Only used post merge.
type: string
default: "0x0000000000000000000000000000000000000000"
--emitPayloadAttributesโ
Flag to SSE emit execution payloadAttributes before every slot
type: boolean
default: false
--serveHistoricalStateโ
Regenerate finalized beacon states on demand and serve them via the REST API (e.g. /eth/v2/debug/beacon/states/{state_id}). Does not backfill historical data, only states the node already has (since genesis sync or --checkpointState) can be regenerated. Regeneration cost depends on --chain.archiveStateEpochFrequency and may affect validator performance.
type: boolean
--chain.archiveStateEpochFrequencyโ
Minimum number of epochs between archived states
type: number
default: 1024
--chain.archiveDataEpochsโ
Number of epochs to retain finalized blobs/columns (minimum of MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS/MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS)
type: number
--chain.pruneHistoryโ
Continually prune finalized blocks older than MIN_EPOCHS_FOR_BLOCK_REQUESTS (33024 epochs / ~5 months on mainnet) and all archived states before the finalized epoch. This is useful to minimize disk usage when the node does not need to serve historical data. Initial pruning may be slow on first startup with an existing large database.
type: boolean
--execution.urlsโ
Urls to execution client engine API
type: string[]
default: [ "http://localhost:8551" ]
--execution.timeoutโ
Timeout in milliseconds for execution engine API HTTP client
type: number
default: 12000
--execution.retriesโ
Number of retries when calling execution engine API
type: number
default: 2
--execution.retryDelayโ
Delay time in milliseconds between retries when retrying calls to the execution engine API
type: number
default: 2000
--execution.engineMockโ
Set the execution engine to mock mode (development only)
type: boolean
default: true
--jwtSecretโ
File path to a shared hex-encoded jwt secret which will be used to generate and bundle HS256 encoded jwt tokens for authentication with the EL client's rpc server hosting engine apis. Secret to be exactly same as the one used by the corresponding EL client.
type: string
--jwtIdโ
An optional identifier to be set in the id field of the claims included in jwt tokens used for authentication with EL client's rpc server hosting engine apis
type: string
--builderโ
An alias for --builder.selection default for the builder flow, ignored if --builder.selection is explicitly provided
type: boolean
--builder.urlโ
Url hosting the builder API
type: string
default: "http://localhost:8661"
--builder.timeoutโ
Timeout in milliseconds for builder API HTTP client
type: number
default: 12000
--builder.faultInspectionWindowโ
Window to inspect missed slots for enabling/disabling builder circuit breaker
type: number
--builder.allowedFaultsโ
Number of missed slots allowed in the faultInspectionWindow for builder circuit
type: number
--metricsโ
Enable the Prometheus metrics HTTP server
type: boolean
default: false
--metrics.portโ
Listen TCP port for the Prometheus metrics HTTP server
type: number
default: 5064
--metrics.addressโ
Listen address for the Prometheus metrics HTTP server
type: string
default: "127.0.0.1"
--monitoring.endpointโ
Enables monitoring service for sending clients stats to the specified endpoint of a remote service (e.g. beaconcha.in)
type: string
--monitoring.intervalโ
Interval in milliseconds between sending client stats to the remote service
type: number
default: 60000
--discv5โ
Enable discv5
type: boolean
default: true
--listenAddressโ
The IPv4 address to listen for p2p UDP and TCP connections
type: string
default: "0.0.0.0"