Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( L1WSEndpoint = &cli.StringFlag{ Name: "l1.ws", Usage: "Websocket RPC endpoint of a L1 ethereum node", Required: true, Category: commonCategory, } L2WSEndpoint = &cli.StringFlag{ Name: "l2.ws", Usage: "Websocket RPC endpoint of a L2 taiko-geth execution engine", Required: true, Category: commonCategory, } L1HTTPEndpoint = &cli.StringFlag{ Name: "l1.http", Usage: "HTTP RPC endpoint of a L1 ethereum node", Required: true, Category: commonCategory, } L2HTTPEndpoint = &cli.StringFlag{ Name: "l2.http", Usage: "HTTP RPC endpoint of a L2 taiko-geth execution engine", Required: true, Category: commonCategory, } TaikoL1Address = &cli.StringFlag{ Name: "taikoL1", Usage: "TaikoL1 contract address", Required: true, Category: commonCategory, } TaikoL2Address = &cli.StringFlag{ Name: "taikoL2", Usage: "TaikoL2 contract address", Required: true, Category: commonCategory, } // Optional flags used by all client softwares. // Logging Verbosity = &cli.IntFlag{ Name: "verbosity", Usage: "Logging verbosity: 0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail", Value: 3, Category: loggingCategory, } LogJson = &cli.BoolFlag{ Name: "log.json", Usage: "Format logs with JSON", Category: loggingCategory, } // Metrics MetricsEnabled = &cli.BoolFlag{ Name: "metrics", Usage: "Enable metrics collection and reporting", Category: metricsCategory, Value: false, } MetricsAddr = &cli.StringFlag{ Name: "metrics.addr", Usage: "Metrics reporting server listening address", Category: metricsCategory, Value: "0.0.0.0", } MetricsPort = &cli.IntFlag{ Name: "metrics.port", Usage: "Metrics reporting server listening port", Category: metricsCategory, Value: 6060, } BackOffMaxRetrys = &cli.Uint64Flag{ Name: "backoff.maxRetrys", Usage: "Max retry times when there is an error", Category: commonCategory, Value: 10, } BackOffRetryInterval = &cli.Uint64Flag{ Name: "backoff.retryInterval", Usage: "Retry interval in seconds when there is an error", Category: commonCategory, Value: 12, } RPCTimeout = &cli.Uint64Flag{ Name: "rpc.timeout", Usage: "Timeout in seconds for RPC calls", Category: commonCategory, } WaitReceiptTimeout = &cli.Uint64Flag{ Name: "rpc.waitReceiptTimeout", Usage: "Timeout in seconds for wait for receipts for RPC transactions", Category: commonCategory, Value: 60, } )
Required flags used by all client softwares.
View Source
var ( L2AuthEndpoint = &cli.StringFlag{ Name: "l2.auth", Usage: "Authenticated HTTP RPC endpoint of a L2 taiko-geth execution engine", Required: true, Category: driverCategory, } JWTSecret = &cli.StringFlag{ Name: "jwtSecret", Usage: "Path to a JWT secret to use for authenticated RPC endpoints", Required: true, Category: driverCategory, } )
Flags used by driver.
View Source
var ( P2PSyncVerifiedBlocks = &cli.BoolFlag{ Name: "p2p.syncVerifiedBlocks", Usage: "Try P2P syncing verified blocks between L2 execution engines, " + "will be helpful to bring a new node online quickly", Value: false, Category: driverCategory, } P2PSyncTimeout = &cli.UintFlag{ Name: "p2p.syncTimeout", Usage: "P2P syncing timeout in seconds, if no sync progress is made within this time span, " + "driver will stop the P2P sync and insert all remaining L2 blocks one by one", Value: 1800, Category: driverCategory, } CheckPointSyncUrl = &cli.StringFlag{ Name: "p2p.checkPointSyncUrl", Usage: "HTTP RPC endpoint of another synced L2 execution engine node", Category: driverCategory, } )
Optional flags used by driver.
View Source
var ( L1ProposerPrivKey = &cli.StringFlag{ Name: "l1.proposerPrivKey", Usage: "Private key of the L1 proposer, who will send TaikoL1.proposeBlock transactions", Required: true, Category: proposerCategory, } L2SuggestedFeeRecipient = &cli.StringFlag{ Name: "l2.suggestedFeeRecipient", Usage: "Address of the proposed block's suggested fee recipient", Required: true, Category: proposerCategory, } ProverEndpoints = &cli.StringFlag{ Name: "proverEndpoints", Usage: "Comma-delinated list of prover endpoints proposer should query when attemping to propose a block", Category: proposerCategory, } BlockProposalFee = &cli.StringFlag{ Name: "blockProposalFee", Usage: "Initial block proposal fee (in wei) paid on block proposing", Category: proposerCategory, } TaikoTokenAddress = &cli.StringFlag{ Name: "taikoToken", Usage: "TaikoToken contract address", Required: true, Category: proposerCategory, } )
Required flags used by proposer.
View Source
var ( ProposeInterval = &cli.StringFlag{ Name: "proposeInterval", Usage: "Time interval to propose L2 pending transactions", Category: proposerCategory, } TxPoolLocals = &cli.StringFlag{ Name: "txpool.locals", Usage: "Comma separated accounts to treat as locals (priority inclusion)", Category: proposerCategory, } TxPoolLocalsOnly = &cli.BoolFlag{ Name: "txpool.localsOnly", Usage: "If set to true, proposer will only propose transactions of local accounts", Value: false, Category: proposerCategory, } ProposeEmptyBlocksInterval = &cli.StringFlag{ Name: "proposeEmptyBlockInterval", Usage: "Time interval to propose empty blocks", Category: proposerCategory, } MaxProposedTxListsPerEpoch = &cli.Uint64Flag{ Name: "maxProposedTxListsPerEpoch", Value: 1, Category: proposerCategory, } ProposeBlockTxGasLimit = &cli.Uint64Flag{ Name: "proposeBlockTxGasLimit", Usage: "Gas limit will be used for TaikoL1.proposeBlock transactions", Category: proposerCategory, } ProposeBlockTxReplacementMultiplier = &cli.Uint64Flag{ Name: "proposeBlockTxReplacementMultiplier", Value: 2, Usage: "Gas tip multiplier when replacing a TaikoL1.proposeBlock transaction with same nonce", Category: proposerCategory, } ProposeBlockTxGasTipCap = &cli.Uint64Flag{ Name: "proposeBlockTxGasTipCap", Usage: "Gas tip cap (in wei) for a TaikoL1.proposeBlock transaction when doing the transaction replacement", Category: proposerCategory, } BlockProposalFeeIncreasePercentage = &cli.Uint64Flag{ Name: "blockProposalFeeIncreasePercentage", Usage: "Increase fee by what percentage when no prover wants to accept the block at initial fee", Category: proposerCategory, Value: 10, } BlockProposalFeeIterations = &cli.Uint64Flag{ Name: "blockProposalFeeIterations", Usage: "If nobody accepts block at initial fee, how many iterations to increase fee before giving up", Category: proposerCategory, Value: 3, } )
Optional flags used by proposer.
View Source
var ( ZkEvmRpcdEndpoint = &cli.StringFlag{ Name: "zkevmRpcdEndpoint", Usage: "RPC endpoint of a ZKEVM RPCD service", Required: true, Category: proverCategory, } ZkEvmRpcdParamsPath = &cli.StringFlag{ Name: "zkevmRpcdParamsPath", Usage: "Path of ZKEVM parameters file to use", Required: true, Category: proverCategory, } L1ProverPrivKey = &cli.StringFlag{ Name: "l1.proverPrivKey", Usage: "Private key of L1 prover, " + "who will send TaikoL1.proveBlock / TaikoL1.proveBlockInvalid transactions", Required: true, Category: proverCategory, } MinProofFee = &cli.StringFlag{ Name: "prover.minProofFee", Usage: "Minimum accepted fee for accepting proving a block", Required: true, Category: proverCategory, } )
Required flags used by prover.
View Source
var ( StartingBlockID = &cli.Uint64Flag{ Name: "startingBlockID", Usage: "If set, prover will start proving blocks from the block with this ID", Category: proverCategory, } MaxConcurrentProvingJobs = &cli.UintFlag{ Name: "maxConcurrentProvingJobs", Usage: "Limits the number of concurrent proving blocks jobs", Value: 1, Category: proverCategory, } // Special flags for testing. Dummy = &cli.BoolFlag{ Name: "dummy", Usage: "Produce dummy proofs, testing purposes only", Value: false, Category: proverCategory, } RandomDummyProofDelay = &cli.StringFlag{ Name: "randomDummyProofDelay", Usage: "Set the random dummy proof delay between the bounds using the format: " + "`lowerBound-upperBound` (e.g. `30m-1h`), testing purposes only", Category: proverCategory, } OracleProver = &cli.BoolFlag{ Name: "oracleProver", Usage: "Set whether prover should use oracle prover or not", Category: proverCategory, } OracleProverPrivateKey = &cli.StringFlag{ Name: "oracleProverPrivateKey", Usage: "Private key of oracle prover", Category: proverCategory, } OracleProofSubmissionDelay = &cli.Uint64Flag{ Name: "oracleProofSubmissionDelay", Usage: "Oracle proof submission delay in seconds", Value: 0, Category: proverCategory, } ProofSubmissionMaxRetry = &cli.Uint64Flag{ Name: "proofSubmissionMaxRetry", Usage: "Max retry counts for proof submission", Value: 0, Category: proverCategory, } Graffiti = &cli.StringFlag{ Name: "graffiti", Usage: "When string is passed, adds additional graffiti info to proof evidence", Category: proverCategory, Value: "", } CheckProofWindowExpiredInterval = &cli.Uint64Flag{ Name: "prover.checkProofWindowExpiredInterval", Usage: "Interval in seconds to check for expired proof windows from other provers", Category: proverCategory, Value: 15, } ProveUnassignedBlocks = &cli.BoolFlag{ Name: "prover.proveUnassignedBlocks", Usage: "Whether you want to prove unassigned blocks, or only work on assigned proofs", Category: proverCategory, Value: false, } ProveBlockTxGasLimit = &cli.Uint64Flag{ Name: "prover.proveBlockTxGasLimit", Usage: "Gas limit will be used for TaikoL1.proveBlock transactions", Category: proverCategory, } ProverHTTPServerPort = &cli.Uint64Flag{ Name: "prover.httpServerPort", Usage: "Port to expose for http server", Category: proverCategory, Value: 9876, } ProverCapacity = &cli.Uint64Flag{ Name: "prover.capacity", Usage: "Capacity of prover, required if oracleProver is false", Category: proverCategory, } )
Optional flags used by prover.
View Source
var CommonFlags = []cli.Flag{ L1WSEndpoint, TaikoL1Address, TaikoL2Address, Verbosity, LogJson, MetricsEnabled, MetricsAddr, MetricsPort, BackOffMaxRetrys, BackOffRetryInterval, RPCTimeout, WaitReceiptTimeout, }
All common flags.
View Source
var DriverFlags = MergeFlags(CommonFlags, []cli.Flag{ L2WSEndpoint, L2AuthEndpoint, JWTSecret, P2PSyncVerifiedBlocks, P2PSyncTimeout, CheckPointSyncUrl, })
All driver flags.
View Source
var ProposerFlags = MergeFlags(CommonFlags, []cli.Flag{ L2HTTPEndpoint, L1ProposerPrivKey, L2SuggestedFeeRecipient, ProposeInterval, TxPoolLocals, TxPoolLocalsOnly, ProposeEmptyBlocksInterval, MaxProposedTxListsPerEpoch, ProposeBlockTxGasLimit, ProposeBlockTxReplacementMultiplier, ProposeBlockTxGasTipCap, ProverEndpoints, BlockProposalFee, BlockProposalFeeIncreasePercentage, BlockProposalFeeIterations, TaikoTokenAddress, })
All proposer flags.
View Source
var ProverFlags = MergeFlags(CommonFlags, []cli.Flag{ L1HTTPEndpoint, L2WSEndpoint, L2HTTPEndpoint, ZkEvmRpcdEndpoint, ZkEvmRpcdParamsPath, L1ProverPrivKey, StartingBlockID, MaxConcurrentProvingJobs, Dummy, RandomDummyProofDelay, OracleProver, OracleProverPrivateKey, OracleProofSubmissionDelay, ProofSubmissionMaxRetry, Graffiti, CheckProofWindowExpiredInterval, ProveUnassignedBlocks, ProveBlockTxGasLimit, ProverHTTPServerPort, ProverCapacity, MinProofFee, })
All prover flags.
Functions ¶
func MergeFlags ¶
func MergeFlags(groups ...[]cli.Flag) []cli.Flag
MergeFlags merges the given flag slices.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.