--help in v1.10.2.
L1 and L2 connection settings
Configure how op-node connects to L1 (Ethereum) and L2 (execution layer) endpoints.l1
Address of L1 User JSON-RPC endpoint to use (eth namespace required). The default value is"http://127.0.0.1:8545".
- Syntax
- Example
- Environment variable
--l1=<value>l1.beacon
Address of L1 Beacon-node HTTP endpoint to use.- Syntax
- Example
- Environment variable
--l1.beacon=<value>l1.beacon-fallbacks
Addresses of L1 Beacon-API compatible HTTP fallback endpoints. Used to fetch blob sidecars not available at the l1.beacon (e.g. expired blobs).- Syntax
- Example
- Environment variable
--l1.beacon-fallbacks=<value>l1.beacon-header
Optional HTTP header to add to all requests to the L1 Beacon endpoint. Format: ‘X-Key: Value’- Syntax
- Example
- Environment variable
--l1.beacon-header=<value>l1.beacon.fetch-all-sidecars
If true, all sidecars are fetched and filtered locally. Workaround for buggy Beacon nodes. The default value isfalse.
- Syntax
- Example
- Environment variable
--l1.beacon.fetch-all-sidecars=<boolean>l1.beacon.ignore
When false, haltsop-node startup if the healthcheck to the Beacon-node endpoint fails. The default value is false.
- Syntax
- Example
- Environment variable
--l1.beacon.ignore=<boolean>l1.cache-size
Cache size for blocks, receipts and transactions. If this flag is set to 0, 3/2 of the sequencing window size is used (usually 2400). The default value of 900 (~3h of L1 blocks) is good for (high-throughput) networks that see frequent safe head increments. On (low-throughput) networks with infrequent safe head increments, it is recommended to set this value to 0, or a value that well covers the typical span between safe head increments. Note that higher values will cause significantly increased memory usage. The default value is900.
- Syntax
- Example
- Environment variable
--l1.cache-size=<value>l1.epoch-poll-interval
Poll interval for retrieving new L1 epoch updates such as safe and finalized block changes. Disabled if 0 or negative. The default value is6m24s.
- Syntax
- Example
- Environment variable
--l1.epoch-poll-interval=<value>l1.http-poll-interval
Polling interval for latest-block subscription when using an HTTP RPC provider. Ignored for other types of RPC endpoints. The default value is12s.
- Syntax
- Example
- Environment variable
--l1.http-poll-interval=<value>l1.max-concurrency
Maximum number of concurrent RPC requests to make to the L1 RPC provider. The default value is10.
- Syntax
- Example
- Environment variable
--l1.max-concurrency=<value>l1.rpc-max-batch-size
Maximum number of RPC requests to bundle, e.g., during L1 blocks receipt fetching. The L1 RPC rate limit counts this as N items, but allows it to burst at once. The default value is20.
- Syntax
- Example
- Environment variable
--l1.rpc-max-batch-size=<value>l1.rpc-rate-limit
Optional self-imposed global rate-limit on L1 RPC requests, specified in requests / second. Disabled if set to 0. The default value is0.
- Syntax
- Example
- Environment variable
--l1.rpc-rate-limit=<value>l1.rpckind
The kind of RPC provider, used to inform optimal transactions receipts fetching, and thus reduce costs. Valid options: alchemy, quicknode, infura, parity,nethermind, debug_geth, erigon, basic, any, standard. The default value is standard.
- Syntax
- Example
- Environment variable
--l1.rpckind=<value>For details on additional values, see RPC Receipts.
l1.runtime-config-reload-interval
Poll interval for reloading the runtime config, useful when config events are not being picked up. Disabled if 0 or negative. The default value is10m0s.
- Syntax
- Example
- Environment variable
--l1.runtime-config-reload-interval=<value>l1.trustrpc
Trust the L1 RPC, sync faster at risk of malicious/buggy RPC providing bad or inconsistent L1 data. The default value isfalse.
If you’re running an Erigon Ethereum execution client for your L1 provider you will need to include
--l1.trustrpc. At the time of writing,
Erigon doesn’t support the eth_getProof that we prefer to use to load L1 data for some processing in op-node. The trustrpc flag makes it
use something else that erigon supports, but the op-node can’t verify for correctness.- Syntax
- Example
- Environment variable
--l1.trustrpc=<boolean>l2
Address of L2 Engine JSON-RPC endpoints to use (engine and eth namespace required). This is referred to asauthrpc by Geth and Reth.
- Syntax
- Example
- Environment variable
--l2=<value>l2.engine-rpc-timeout
L2 engine client rpc timeout. The default value is10s.
- Syntax
- Example
- Environment variable
--l2.engine-rpc-timeout=<value>l2.jwt-secret
Path to JWT secret key. Keys are 32 bytes, hex encoded in a file. A new key will be generated if left empty.- Syntax
- Example
- Environment variable
--l2.jwt-secret=<value>l2.enginekind
The kind of engine client, used to control the behavior of optimism in respect to different types of engine clients. Valid options:geth, reth, erigon. The default value is geth.
- Syntax
- Example
- Environment variable
--l2.enginekind=<value>Network selection and rollup configuration
Configure which OP Stack network to connect to and manage rollup-specific settings.network
Predefined network selection. Available networks: arena-z-mainnet, arena-z-sepolia, automata-mainnet, base-devnet-0-sepolia-dev-0, base-mainnet, base-sepolia, bob-mainnet, camp-sepolia, creator-chain-testnet-sepolia, cyber-mainnet, cyber-sepolia, ethernity-mainnet, ethernity-sepolia, fraxtal-mainnet, funki-mainnet, funki-sepolia, hashkeychain-mainnet, ink-mainnet, ink-sepolia, lisk-mainnet, lisk-sepolia, lyra-mainnet, metal-mainnet, metal-sepolia, mint-mainnet, mode-mainnet, mode-sepolia, op-mainnet, op-sepolia, oplabs-devnet-0-sepolia-dev-0, orderly-mainnet, ozean-sepolia, pivotal-sepolia, polynomial-mainnet, race-mainnet, race-sepolia, radius_testnet-sepolia, redstone-mainnet, rehearsal-0-bn-0-rehearsal-0-bn, rehearsal-0-bn-1-rehearsal-0-bn, settlus-mainnet-mainnet, settlus-sepolia-sepolia, shape-mainnet, shape-sepolia, silent-data-mainnet-mainnet, snax-mainnet, soneium-mainnet, soneium-minato-sepolia, sseed-mainnet, swan-mainnet, swell-mainnet, tbn-mainnet, tbn-sepolia, unichain-mainnet, unichain-sepolia, worldchain-mainnet, worldchain-sepolia, xterio-eth-mainnet, zora-mainnet, zora-sepolia.- Syntax
- Example
- Environment variable
--network=<value>rollup.config
Rollup chain parameters.- Syntax
- Example
- Environment variable
--rollup.config=<value>rollup.halt
Opt-in option to halt on incompatible protocol version requirements of the given level (major/minor/patch/none), as signaled onchain in L1.- Syntax
- Example
- Environment variable
--rollup.halt=<value>rollup.l1-chain-config
Path to .json file with the chain configuration for the L1, either in the direct format or genesis.json format (i.e. embedded under the .config property). Not necessary / will be ignored if using Ethereum mainnet or Sepolia as an L1.- Syntax
- Example
- Environment variable
--rollup.l1-chain-config=<value>syncmode
Blockchain sync mode. Options are “consensus-layer” or “execution-layer”. The default value isconsensus-layer.
- Syntax
- Example
- Environment variable
--syncmode=<value>syncmode.offset-el-safe
Only effective with--syncmode=execution-layer. After execution-layer sync completes, the safe and finalized heads are set to this duration behind the synced tip (converted to L2 blocks using the rollup block time). The default 12h matches the OP Mainnet sequencing window.
Setting this to 0 leaves safe and finalized at the synced tip. This is not recommended and is dangerous: the offset ensures the node does not label the EL-sync tip as safe/finalized until L1 has had time to confirm it. With 0, an EL-sync tip that later turns out to be on a reorged (non-canonical) branch can be marked safe/finalized, and safe/finalized are not supposed to reorg. Fix a body-pruning mismatch by enlarging the EL’s retained body window instead — see the warning below.
- Syntax
- Example
- Environment variable
--syncmode.offset-el-safe=<duration>Fork overrides
Manually override fork activation timestamps for testing or custom deployments.override.canyon
Manually specify the Canyon fork timestamp, overriding the bundled setting. The default value is0.
- Syntax
- Example
- Environment variable
--override.canyon=<value>override.delta
Manually specify the Delta fork timestamp, overriding the bundled setting. The default value is0.
- Syntax
- Example
- Environment variable
--override.delta=<value>override.ecotone
Manually specify the ecotone fork timestamp, overriding the bundled setting. The default value is0.
- Syntax
- Example
- Environment variable
--override.ecotone=<value>override.fjord
Manually specify the fjord fork timestamp, overriding the bundled setting. The default value is0.
- Syntax
- Example
- Environment variable
--override.fjord=<value>override.granite
Manually specify the granite fork timestamp, overriding the bundled setting. The default value is0.
- Syntax
- Example
- Environment variable
--override.granite=<value>override.holocene
Manually specify the holocene fork timestamp, overriding the bundled setting. The default value is0.
- Syntax
- Example
- Environment variable
--override.holocene=<value>override.isthmus
Manually specify the isthmus fork timestamp, overriding the bundled setting. The default value is0.
- Syntax
- Example
- Environment variable
--override.isthmus=<value>override.jovian
Manually specify the Jovian fork timestamp, overriding the bundled setting. The default value is0.
- Syntax
- Example
- Environment variable
--override.jovian=<value>override.karst
Manually specify the Karst fork timestamp, overriding the bundled setting. The default value is0.
- Syntax
- Example
- Environment variable
--override.karst=<value>override.lagoon
Manually specify the Lagoon fork timestamp, overriding the bundled setting. The default value is0.
- Syntax
- Example
- Environment variable
--override.lagoon=<value>override.pectrablobschedule
Manually specify the PectraBlobSchedule fork timestamp, overriding the bundled setting. The default value is0.
- Syntax
- Example
- Environment variable
--override.pectrablobschedule=<value>override.keep-karst-upgrade-gas
Manually setkeep_karst_upgrade_gas, overriding the bundled setting. When true, the Karst activation block’s one-time upgrade gas is kept on every later block. Set this only on chains that already activated Karst with the upgrade-gas leak baked into their history. The default value is false.
- Syntax
- Example
- Environment variable
--override.keep-karst-upgrade-gas=<boolean>Logging configuration
Control log output format, level, and color.log.color
Color the log output if in terminal mode. The default value isfalse.
- Syntax
- Example
- Environment variable
--log.color=<boolean>log.format
Format the log output. Supported formats: ‘text’, ‘terminal’, ‘logfmt’, ‘json’, ‘json-pretty’. The default value istext.
- Syntax
- Example
- Environment variable
--log.format=<value>log.level
The lowest log level that will be output. The default value isinfo.
- Syntax
- Example
- Environment variable
--log.level=<value>log.pid
Show pid in the log. The default value isfalse.
- Syntax
- Example
- Environment variable
--log.pid=<boolean>Logging and RPC
Configure RPC API endpoints and admin functionality.rpc.addr
RPC listening address. Default is"0.0.0.0".
- Syntax
- Example
- Environment variable
--rpc.addr=<value>rpc.admin-state
File path used to persist state changes made via the admin API so they persist across restarts. Disabled if not set.- Syntax
- Example
- Environment variable
--rpc.admin-state=<value>rpc.enable-admin
Enable the admin API (experimental). Default isfalse.
- Syntax
- Example
- Environment variable
--rpc.enable-admin=[true|false]rpc.port
RPC listening port. Default is9545.
- Syntax
- Example
- Environment variable
--rpc.port=<value>Metrics and profiling
Enable observability through metrics and performance profiling.metrics.addr
Metrics listening address. The default value is"0.0.0.0".
- Syntax
- Example
- Environment variable
--metrics.addr=<value>metrics.enabled
Enable the metrics server. The default value isfalse.
- Syntax
- Example
- Environment variable
--metrics.enabled=<boolean>metrics.port
Metrics listening port. The default value is7300.
- Syntax
- Example
- Environment variable
--metrics.port=<value>pprof.addr
pprof listening address. Default is"0.0.0.0".
- Syntax
- Example
- Environment variable
--pprof.addr=<value>pprof.enabled
Enable the pprof server. Default isfalse.
- Syntax
- Example
- Environment variable
--pprof.enabled=[true|false]pprof.path
pprof file path. If it is a directory, the path is {dir}/{profileType}.prof- Syntax
- Example
- Environment variable
--pprof.path=<path>pprof.port
pprof listening port. Default is6060.
- Syntax
- Example
- Environment variable
--pprof.port=<value>pprof.type
pprof profile type. One of cpu, heap, goroutine, threadcreate, block, mutex, allocs- Syntax
- Example
- Environment variable
--pprof.type=<value>P2P networking
Configure peer-to-peer networking, discovery, and connection management.p2p.advertise.ip
The IP address to advertise in Discv5, put into the ENR of the node. This may also be a hostname/domain name to resolve to an IP.- Syntax
- Example
- Environment variable
--p2p.advertise.ip=<value>p2p.advertise.tcp
The TCP port to advertise in Discv5, put into the ENR of the node. Set to p2p.listen.tcp value if 0. The default value is0.
- Syntax
- Example
- Environment variable
--p2p.advertise.tcp=<value>p2p.advertise.udp
The UDP port to advertise in Discv5 as a fallback if not determined by Discv5, put into the ENR of the node. Set to p2p.listen.udp value if 0. The default value is0.
- Syntax
- Example
- Environment variable
--p2p.advertise.udp=<value>p2p.ban.duration
The duration that peers are banned for. The default value is1h0m0s.
- Syntax
- Example
- Environment variable
--p2p.ban.duration=<value>p2p.ban.peers
Enables peer banning. The default value istrue.
- Syntax
- Example
- Environment variable
--p2p.ban.peers=<boolean>p2p.ban.threshold
The minimum score below which peers are disconnected and banned. The default value is-100.
- Syntax
- Example
- Environment variable
--p2p.ban.threshold=<value>p2p.bootnodes
Comma-separated base64-format ENR list. Bootnodes to start discovering other node records from.- Syntax
- Example
- Environment variable
--p2p.bootnodes=<value>p2p.disable
Completely disable the P2P stack. The default value isfalse.
- Syntax
- Example
- Environment variable
--p2p.disable=<boolean>p2p.discovery.path
Enables persistent storage of discovered ENRs in a database to recover from a restart without bootstrapping the discovery process again. Set to ‘memory’ to never persist the peerstore. The default value isopnode_discovery_db.
- Syntax
- Example
- Environment variable
--p2p.discovery.path=<value>p2p.gossip.timestamp.threshold
Threshold for rejecting gossip messages with payload timestamps older than this duration. The default value is1m0s.
- Syntax
- Example
- Environment variable
--p2p.gossip.timestamp.threshold=<value>p2p.listen.ip
Specifies the IP to bind LibP2P and Discv5 to. The default value is0.0.0.0.
- Syntax
- Example
- Environment variable
--p2p.listen.ip=<value>p2p.listen.tcp
Defines the TCP port to bind LibP2P to. Any available system port if set to 0. The default value is9222.
- Syntax
- Example
- Environment variable
--p2p.listen.tcp=<value>p2p.listen.udp
Sets the UDP port to bind Discv5 to. It will be the same as the TCP port if left at 0. The default value is0.
- Syntax
- Example
- Environment variable
--p2p.listen.udp=<value>p2p.nat
Enables NAT traversal with PMP/UPNP devices to learn external IP. The default value isfalse.
- Syntax
- Example
- Environment variable
--p2p.nat=<boolean>p2p.netrestrict
Specifies a comma-separated list of CIDR masks. P2P will only try to connect on these networks.- Syntax
- Example
- Environment variable
--p2p.netrestrict=<value>p2p.no-discovery
Disables Discv5 (node discovery). The default value isfalse.
- Syntax
- Example
- Environment variable
--p2p.no-discovery=<boolean>p2p.peers.grace
Determines the grace period to keep a newly connected peer around, if it is not misbehaving. The default value is30s.
- Syntax
- Example
- Environment variable
--p2p.peers.grace=<value>p2p.peers.hi
Sets the high-tide peer count. The node starts pruning peer connections slowly after reaching this number. The default value is30.
- Syntax
- Example
- Environment variable
--p2p.peers.hi=<value>p2p.peers.lo
Determines the low-tide peer count. The node actively searches for new peer connections if below this amount. The default value is20.
- Syntax
- Example
- Environment variable
--p2p.peers.lo=<number>p2p.peerstore.path
Specifies the Peerstore database location. Persisted peerstores help recover peers after restarts. Set to ‘memory’ to never persist the peerstore. Warning: a copy of the priv network key of the local peer will be persisted here. The default value is"opnode_peerstore_db".
- Syntax
- Example
- Environment variable
--p2p.peerstore.path=<path>p2p.priv.path
Defines the file path for reading the hex-encoded 32-byte private key for the peer ID. Created if not already exists. Important for maintaining the same network identity after restarting. The default value is"opnode_p2p_priv.txt".
- Syntax
- Example
- Environment variable
--p2p.priv.path=<file-path>p2p.scoring
Sets the peer scoring strategy for the P2P stack. Options include ‘none’ or ‘light’. The default value is"light".
- Syntax
- Example
- Environment variable
--p2p.scoring=<strategy>p2p.sequencer.key
Hex-encoded private key for signing off on p2p application messages as sequencer.- Syntax
- Example
- Environment variable
--p2p.sequencer.key=<value>p2p.static
Comma-separated multiaddr-format(an unsigned address, containing: IP, TCP port, PeerID) peer list. Static connections to make and maintain, these peers will be regarded as trusted. Addresses of the local peer are ignored. Duplicate/Alternative addresses for the same peer all apply, but only a single connection per peer is maintained.- Syntax
- Example
- Environment variable
--p2p.static=<value>p2p.sync.onlyreqtostatic
RestrictsRequestL2Range sync requests to static peers only. Useful for enforcing trusted peer sync. When enabled, non-static peers are skipped during sync. Default is false.
- Syntax
- Example
- Environment variable
--p2p.sync.onlyreqtostatic=[true|false]p2p.sync.req-resp
Enables P2P req-resp alternative sync method, on both server and client side. Default istrue.
- Syntax
- Example
- Environment variable
--p2p.sync.req-resp=[true|false]Sequencer options
Configuration for running op-node as a sequencer.sequencer.enabled
Enable sequencing of new L2 blocks. A separate batch submitter has to be deployed to publish the data for verifiers. Default isfalse.
- Syntax
- Example
- Environment variable
--sequencer.enabled=[true|false]sequencer.l1-confs
Number of L1 blocks to keep distance from the L1 head as a sequencer for picking an L1 origin. Default is4.
- Syntax
- Example
- Environment variable
--sequencer.l1-confs=<value>sequencer.max-safe-lag
Maximum number of L2 blocks for restricting the distance between L2 safe and unsafe. Disabled if 0. Default is0.
- Syntax
- Example
- Environment variable
--sequencer.max-safe-lag=<value>sequencer.recover
Forces the sequencer to strictly prepare the next L1 origin and create empty L2 blocks. Default isfalse.
- Syntax
- Example
- Environment variable
--sequencer.recover=[true|false]sequencer.stopped
Initialize the sequencer in a stopped state. The sequencer can be started using the admin_startSequencer RPC. Default isfalse.
- Syntax
- Example
- Environment variable
--sequencer.stopped=[true|false]Verifier options
Configuration for running op-node as a verifier (replica node).verifier.l1-confs
Number of L1 blocks to keep distance from the L1 head before deriving L2 data from. Reorgs are supported, but may be slow to perform. Default is0.
- Syntax
- Example
- Environment variable
--verifier.l1-confs=<value>While
verifier.l1-confs has no strict limit, it’s recommended to keep this value within 12-13 minutes (typically 10-20 blocks) for optimal performance. Exceeding this range may impact the verifier’s data processing efficiency.Conductor mode
Options for running op-node in conductor mode (for conductor-enabled chains).conductor.enabled
Enable the conductor service. The default value isfalse.
- Syntax
- Example
- Environment variable
--conductor.enabled=<boolean>conductor.rpc
Conductor service rpc endpoint. The default value ishttp://127.0.0.1:8547.
- Syntax
- Example
- Environment variable
--conductor.rpc=<value>conductor.rpc-timeout
Conductor service rpc timeout. The default value is1s.
- Syntax
- Example
- Environment variable
--conductor.rpc-timeout=<value>Database and state persistence
Configure persistent storage for node state and snapshot data.safedb.path
File path used to persist safe head update data. Disabled if not set.- Syntax
- Example
- Environment variable
--safedb.path=<value>snapshotlog.file
Path to the snapshot log file.- Syntax
- Example
- Environment variable
--snapshotlog.file=<value>Signer configuration
Options for configuring an external signer for P2P messages.signer.address
Address the signer is signing requests for.- Syntax
- Example
- Environment variable
--signer.address=<value>signer.endpoint
Signer endpoint the client will connect to.- Syntax
- Example
- Environment variable
--signer.endpoint=<value>signer.header
Headers to pass to the remote signer. Formatkey=value. Value can contain any character allowed in a HTTP header. When using env vars, split with commas. When using flags one key value pair per flag.
- Syntax
- Example
- Environment variable
--signer.header=<value>signer.tls.ca
TLS ca cert path. The default value is"tls/ca.crt".
- Syntax
- Example
- Environment variable
--signer.tls.ca=<value>signer.tls.cert
TLS cert path. The default value is"tls/tls.crt".
- Syntax
- Example
- Environment variable
--signer.tls.cert=<value>signer.tls.enabled
Enable or disable TLS client authentication for the signer. The default value istrue.
- Syntax
- Example
- Environment variable
--signer.tls.enabled=<boolean>signer.tls.key
TLS key path. The default value is"tls/tls.key".
- Syntax
- Example
- Environment variable
--signer.tls.key=<value>Alt-DA (Experimental)
Configuration options for Alternative Data Availability mode.altda.enabled
Enable Alt-DA mode. The default value isfalse.
- Syntax
- Example
- Environment variable
--altda.enabled=<boolean>altda.da-server
HTTP address of a DA Server.- Syntax
- Example
- Environment variable
--altda.da-server=<value>altda.da-service
Use DA service type where commitments are generated by Alt-DA server. The default value isfalse.
- Syntax
- Example
- Environment variable
--altda.da-service=<boolean>altda.get-timeout
Timeout for get requests. 0 means no timeout. The default value is0s.
- Syntax
- Example
- Environment variable
--altda.get-timeout=<value>altda.max-concurrent-da-requests
Maximum number of concurrent requests to the DA server. The default value is1.
- Syntax
- Example
- Environment variable
--altda.max-concurrent-da-requests=<value>altda.put-timeout
Timeout for put requests. 0 means no timeout. The default value is0s.
- Syntax
- Example
- Environment variable
--altda.put-timeout=<value>altda.verify-on-read
Verify input data matches the commitments from the DA storage service. The default value istrue.
- Syntax
- Example
- Environment variable
--altda.verify-on-read=<boolean>Interop (Super Experimental)
Configuration options for OP Stack interop networks.interop.dependency-set
Dependency-set configuration, point at JSON file.- Syntax
- Example
- Environment variable
--interop.dependency-set=<value>interop.jwt-secret
Interop RPC server authentication. Path to JWT secret key. Keys are 32 bytes, hex encoded in a file. A new key will be generated if the file is empty. Applies only to Interop-enabled networks.- Syntax
- Example
- Environment variable
--interop.jwt-secret=<value>interop.rpc.addr
Interop Websocket-only RPC listening address, for supervisor service to manage syncing of the op-node. Applies only to Interop-enabled networks. Optional, disabled if left empty. Do not enable if you do not run a supervisor service.- Syntax
- Example
- Environment variable
--interop.rpc.addr=<value>interop.rpc.port
Interop RPC listening port, to serve supervisor syncing. Applies only to Interop-enabled networks. The default value is9645.
- Syntax
- Example
- Environment variable
--interop.rpc.port=<value>Experimental and miscellaneous
Additional experimental features and utility flags.experimental.sequencer-api
Enables experimental test sequencer RPC functionality. The default value isfalse.
- Syntax
- Example
- Environment variable
--experimental.sequencer-api=<boolean>fetch-withdrawal-root-from-state
Read withdrawal_storage_root (aka message passer storage root) from state trie (via execution layer) instead of the block header. Restores pre-Isthmus behavior, requires an archive EL client. The default value isfalse.
- Syntax
- Example
- Environment variable
--fetch-withdrawal-root-from-state=<boolean>General options
Help and version information.—help, -h
Show help. The default value isfalse.
- Syntax
- Syntax
--help OR -h—version, -v
Nodes built from source do not output the correct version numbers that are reported on
the GitHub release page.
false.
- Syntax
- Syntax
--version OR -vNode log levels
Node log levels determine the verbosity of log messages, allowing operators to filter messages based on importance and detail. The log levels for theop-node (used in Optimism)
are as follows:
- Silent (0): No log messages are displayed. This level is rarely used as it provides no feedback on the node’s status.
- Error (1): Only error messages are displayed. Use this level to focus on critical issues that need immediate attention.
- Warn (2): Displays error messages and warnings. This level helps to identify potential problems that might not be immediately critical but require attention.
- Info (3): Displays error messages, warnings, and normal activity logs. This is the default level and provides a balanced view of the node’s operations without being too verbose.
- Debug (4): All info-level messages plus additional debugging information. Use this level when troubleshooting issues or developing the node software.
- Detail (5): The most verbose level, including detailed debugging information and low-level system operations. This level generates a large amount of log data and is typically used only for in-depth troubleshooting.
--log.level flag when running the op-node command. For
example, to set the log level to debug: