Type: : object
Description: Config represents the configuration of the entire Hermez Node The file is TOML format You could find some examples:
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- IsTrustedSequencer | No | boolean | No | - | This define is a trusted node (`true`) or a permission less (`false`). If you don't known set to `false` |
- ForkUpgradeBatchNumber | No | integer | No | - | Last batch number before a forkid change (fork upgrade). That implies that greater batch numbers are going to be trusted but no virtualized neither verified. So after the batch number `ForkUpgradeBatchNumber` is virtualized and verified you could update the system (SC,...) to new forkId and remove this value to allow the system to keep Virtualizing and verifying the new batchs. Check issue #2236 to known more This value overwrite `SequenceSender.ForkUpgradeBatchNumber` |
- ForkUpgradeNewForkId | No | integer | No | - | Which is the new forkId |
- Log | No | object | No | - | Configure Log level for all the services, allow also to store the logs in a file |
- Etherman | No | object | No | - | Configuration of the etherman (client for access L1) |
- EthTxManager | No | object | No | - | Configuration for ethereum transaction manager |
- Pool | No | object | No | - | Pool service configuration |
- RPC | No | object | No | - | Configuration for RPC service. THis one offers a extended Ethereum JSON-RPC API interface to interact with the node |
- Synchronizer | No | object | No | - | Configuration of service `Syncrhonizer`. For this service is also really important the value of `IsTrustedSequencer` because depending of this values is going to ask to a trusted node for trusted transactions or not |
- Sequencer | No | object | No | - | Configuration of the sequencer service |
- SequenceSender | No | object | No | - | Configuration of the sequence sender service |
- Aggregator | No | object | No | - | Configuration of the aggregator service |
- NetworkConfig | No | object | No | - | Configuration of the genesis of the network. This is used to known the initial state of the network |
- L2GasPriceSuggester | No | object | No | - | Configuration of the gas price suggester service |
- Executor | No | object | No | - | Configuration of the executor service |
- MTClient | No | object | No | - | Configuration of the merkle tree client service. Not use in the node, only for testing |
- Metrics | No | object | No | - | Configuration of the metrics service, basically is where is going to publish the metrics |
- EventLog | No | object | No | - | Configuration of the event database connection |
- HashDB | No | object | No | - | Configuration of the hash database connection |
- State | No | object | No | - | State service configuration |
Type: : boolean
Default: false
Description: This define is a trusted node (true
) or a permission less (false
). If you don't known
set to false
Example setting the default value (false):
IsTrustedSequencer=false
Type: : integer
Default: 0
Description: Last batch number before a forkid change (fork upgrade). That implies that
greater batch numbers are going to be trusted but no virtualized neither verified.
So after the batch number ForkUpgradeBatchNumber
is virtualized and verified you could update
the system (SC,...) to new forkId and remove this value to allow the system to keep
Virtualizing and verifying the new batchs.
Check issue #2236 to known more
This value overwrite SequenceSender.ForkUpgradeBatchNumber
Example setting the default value (0):
ForkUpgradeBatchNumber=0
Type: : integer
Default: 0
Description: Which is the new forkId
Example setting the default value (0):
ForkUpgradeNewForkId=0
Type: : object
Description: Configure Log level for all the services, allow also to store the logs in a file
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Environment | No | enum (of string) | No | - | Environment defining the log format ("production" or "development"). In development mode enables development mode (which makes DPanicLevel logs panic), uses a console encoder, writes to standard error, and disables sampling. Stacktraces are automatically included on logs of WarnLevel and above. Check here |
- Level | No | enum (of string) | No | - | Level of log. As lower value more logs are going to be generated |
- Outputs | No | array of string | No | - | Outputs |
Type: : enum (of string)
Default: "development"
Description: Environment defining the log format ("production" or "development"). In development mode enables development mode (which makes DPanicLevel logs panic), uses a console encoder, writes to standard error, and disables sampling. Stacktraces are automatically included on logs of WarnLevel and above. Check here
Example setting the default value ("development"):
[Log]
Environment="development"
Must be one of:
- "production"
- "development"
Type: : enum (of string)
Default: "info"
Description: Level of log. As lower value more logs are going to be generated
Example setting the default value ("info"):
[Log]
Level="info"
Must be one of:
- "debug"
- "info"
- "warn"
- "error"
- "dpanic"
- "panic"
- "fatal"
Type: : array of string
Default: ["stderr"]
Description: Outputs
Example setting the default value (["stderr"]):
[Log]
Outputs=["stderr"]
Type: : object
Description: Configuration of the etherman (client for access L1)
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- URL | No | string | No | - | URL is the URL of the Ethereum node for L1 |
- ForkIDChunkSize | No | integer | No | - | ForkIDChunkSize is the max interval for each call to L1 provider to get the forkIDs |
- MultiGasProvider | No | boolean | No | - | allow that L1 gas price calculation use multiples sources |
- Etherscan | No | object | No | - | Configuration for use Etherscan as used as gas provider, basically it needs the API-KEY |
Type: : string
Default: "http://localhost:8545"
Description: URL is the URL of the Ethereum node for L1
Example setting the default value ("http://localhost:8545"):
[Etherman]
URL="http://localhost:8545"
Type: : integer
Default: 20000
Description: ForkIDChunkSize is the max interval for each call to L1 provider to get the forkIDs
Example setting the default value (20000):
[Etherman]
ForkIDChunkSize=20000
Type: : boolean
Default: false
Description: allow that L1 gas price calculation use multiples sources
Example setting the default value (false):
[Etherman]
MultiGasProvider=false
Type: : object
Description: Configuration for use Etherscan as used as gas provider, basically it needs the API-KEY
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- ApiKey | No | string | No | - | Need API key to use etherscan, if it's empty etherscan is not used |
- Url | No | string | No | - | URL of the etherscan API. Overwritten with a hardcoded URL: "https://api.etherscan.io/api?module=gastracker&action=gasoracle&apikey=" |
Type: : string
Default: ""
Description: Need API key to use etherscan, if it's empty etherscan is not used
Example setting the default value (""):
[Etherman.Etherscan]
ApiKey=""
Type: : string
Default: ""
Description: URL of the etherscan API. Overwritten with a hardcoded URL: "https://api.etherscan.io/api?module=gastracker&action=gasoracle&apikey="
Example setting the default value (""):
[Etherman.Etherscan]
Url=""
Type: : object
Description: Configuration for ethereum transaction manager
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- FrequencyToMonitorTxs | No | string | No | - | Duration |
- WaitTxToBeMined | No | string | No | - | Duration |
- PrivateKeys | No | array of object | No | - | PrivateKeys defines all the key store files that are going to be read in order to provide the private keys to sign the L1 txs |
- ForcedGas | No | integer | No | - | ForcedGas is the amount of gas to be forced in case of gas estimation error |
- GasPriceMarginFactor | No | number | No | - | GasPriceMarginFactor is used to multiply the suggested gas price provided by the network in order to allow a different gas price to be set for all the transactions and making it easier to have the txs prioritized in the pool, default value is 1. ex: suggested gas price: 100 GasPriceMarginFactor: 1 gas price = 100 suggested gas price: 100 GasPriceMarginFactor: 1.1 gas price = 110 |
- MaxGasPriceLimit | No | integer | No | - | MaxGasPriceLimit helps avoiding transactions to be sent over an specified gas price amount, default value is 0, which means no limit. If the gas price provided by the network and adjusted by the GasPriceMarginFactor is greater than this configuration, transaction will have its gas price set to the value configured in this config as the limit. ex: suggested gas price: 100 gas price margin factor: 20% max gas price limit: 150 tx gas price = 120 suggested gas price: 100 gas price margin factor: 20% max gas price limit: 110 tx gas price = 110 |
Title: Duration
Type: : string
Default: "1s"
Description: FrequencyToMonitorTxs frequency of the resending failed txs
Examples:
"1m"
"300ms"
Example setting the default value ("1s"):
[EthTxManager]
FrequencyToMonitorTxs="1s"
Title: Duration
Type: : string
Default: "2m0s"
Description: WaitTxToBeMined time to wait after transaction was sent to the ethereum
Examples:
"1m"
"300ms"
Example setting the default value ("2m0s"):
[EthTxManager]
WaitTxToBeMined="2m0s"
Type: : array of object
Description: PrivateKeys defines all the key store files that are going
to be read in order to provide the private keys to sign the L1 txs
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
Each item of this array must be | Description |
---|---|
PrivateKeys items | KeystoreFileConfig has all the information needed to load a private key from a key store file |
Type: : object
Description: KeystoreFileConfig has all the information needed to load a private key from a key store file
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Path | No | string | No | - | Path is the file path for the key store file |
- Password | No | string | No | - | Password is the password to decrypt the key store file |
Type: : string
Description: Path is the file path for the key store file
Type: : string
Description: Password is the password to decrypt the key store file
Type: : integer
Default: 0
Description: ForcedGas is the amount of gas to be forced in case of gas estimation error
Example setting the default value (0):
[EthTxManager]
ForcedGas=0
Type: : number
Default: 1
Description: GasPriceMarginFactor is used to multiply the suggested gas price provided by the network in order to allow a different gas price to be set for all the transactions and making it easier to have the txs prioritized in the pool, default value is 1.
ex: suggested gas price: 100 GasPriceMarginFactor: 1 gas price = 100
suggested gas price: 100 GasPriceMarginFactor: 1.1 gas price = 110
Example setting the default value (1):
[EthTxManager]
GasPriceMarginFactor=1
Type: : integer
Default: 0
Description: MaxGasPriceLimit helps avoiding transactions to be sent over an specified gas price amount, default value is 0, which means no limit. If the gas price provided by the network and adjusted by the GasPriceMarginFactor is greater than this configuration, transaction will have its gas price set to the value configured in this config as the limit.
ex:
suggested gas price: 100 gas price margin factor: 20% max gas price limit: 150 tx gas price = 120
suggested gas price: 100 gas price margin factor: 20% max gas price limit: 110 tx gas price = 110
Example setting the default value (0):
[EthTxManager]
MaxGasPriceLimit=0
Type: : object
Description: Pool service configuration
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- IntervalToRefreshBlockedAddresses | No | string | No | - | Duration |
- IntervalToRefreshGasPrices | No | string | No | - | Duration |
- MaxTxBytesSize | No | integer | No | - | MaxTxBytesSize is the max size of a transaction in bytes |
- MaxTxDataBytesSize | No | integer | No | - | MaxTxDataBytesSize is the max size of the data field of a transaction in bytes |
- DB | No | object | No | - | DB is the database configuration |
- DefaultMinGasPriceAllowed | No | integer | No | - | DefaultMinGasPriceAllowed is the default min gas price to suggest |
- MinAllowedGasPriceInterval | No | string | No | - | Duration |
- PollMinAllowedGasPriceInterval | No | string | No | - | Duration |
- AccountQueue | No | integer | No | - | AccountQueue represents the maximum number of non-executable transaction slots permitted per account |
- GlobalQueue | No | integer | No | - | GlobalQueue represents the maximum number of non-executable transaction slots for all accounts |
- EffectiveGasPrice | No | object | No | - | EffectiveGasPrice is the config for the effective gas price calculation |
Title: Duration
Type: : string
Default: "5m0s"
Description: IntervalToRefreshBlockedAddresses is the time it takes to sync the blocked address list from db to memory
Examples:
"1m"
"300ms"
Example setting the default value ("5m0s"):
[Pool]
IntervalToRefreshBlockedAddresses="5m0s"
Title: Duration
Type: : string
Default: "5s"
Description: IntervalToRefreshGasPrices is the time to wait to refresh the gas prices
Examples:
"1m"
"300ms"
Example setting the default value ("5s"):
[Pool]
IntervalToRefreshGasPrices="5s"
Type: : integer
Default: 100132
Description: MaxTxBytesSize is the max size of a transaction in bytes
Example setting the default value (100132):
[Pool]
MaxTxBytesSize=100132
Type: : integer
Default: 100000
Description: MaxTxDataBytesSize is the max size of the data field of a transaction in bytes
Example setting the default value (100000):
[Pool]
MaxTxDataBytesSize=100000
Type: : object
Description: DB is the database configuration
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Name | No | string | No | - | Database name |
- User | No | string | No | - | Database User name |
- Password | No | string | No | - | Database Password of the user |
- Host | No | string | No | - | Host address of database |
- Port | No | string | No | - | Port Number of database |
- EnableLog | No | boolean | No | - | EnableLog |
- MaxConns | No | integer | No | - | MaxConns is the maximum number of connections in the pool. |
Type: : string
Default: "pool_db"
Description: Database name
Example setting the default value ("pool_db"):
[Pool.DB]
Name="pool_db"
Type: : string
Default: "pool_user"
Description: Database User name
Example setting the default value ("pool_user"):
[Pool.DB]
User="pool_user"
Type: : string
Default: "pool_password"
Description: Database Password of the user
Example setting the default value ("pool_password"):
[Pool.DB]
Password="pool_password"
Type: : string
Default: "zkevm-pool-db"
Description: Host address of database
Example setting the default value ("zkevm-pool-db"):
[Pool.DB]
Host="zkevm-pool-db"
Type: : string
Default: "5432"
Description: Port Number of database
Example setting the default value ("5432"):
[Pool.DB]
Port="5432"
Type: : boolean
Default: false
Description: EnableLog
Example setting the default value (false):
[Pool.DB]
EnableLog=false
Type: : integer
Default: 200
Description: MaxConns is the maximum number of connections in the pool.
Example setting the default value (200):
[Pool.DB]
MaxConns=200
Type: : integer
Default: 1000000000
Description: DefaultMinGasPriceAllowed is the default min gas price to suggest
Example setting the default value (1000000000):
[Pool]
DefaultMinGasPriceAllowed=1000000000
Title: Duration
Type: : string
Default: "5m0s"
Description: MinAllowedGasPriceInterval is the interval to look back of the suggested min gas price for a tx
Examples:
"1m"
"300ms"
Example setting the default value ("5m0s"):
[Pool]
MinAllowedGasPriceInterval="5m0s"
Title: Duration
Type: : string
Default: "15s"
Description: PollMinAllowedGasPriceInterval is the interval to poll the suggested min gas price for a tx
Examples:
"1m"
"300ms"
Example setting the default value ("15s"):
[Pool]
PollMinAllowedGasPriceInterval="15s"
Type: : integer
Default: 64
Description: AccountQueue represents the maximum number of non-executable transaction slots permitted per account
Example setting the default value (64):
[Pool]
AccountQueue=64
Type: : integer
Default: 1024
Description: GlobalQueue represents the maximum number of non-executable transaction slots for all accounts
Example setting the default value (1024):
[Pool]
GlobalQueue=1024
Type: : object
Description: EffectiveGasPrice is the config for the effective gas price calculation
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Enabled | No | boolean | No | - | Enabled is a flag to enable/disable the effective gas price |
- L1GasPriceFactor | No | number | No | - | L1GasPriceFactor is the percentage of the L1 gas price that will be used as the L2 min gas price |
- ByteGasCost | No | integer | No | - | ByteGasCost is the gas cost per byte that is not 0 |
- ZeroByteGasCost | No | integer | No | - | ZeroByteGasCost is the gas cost per byte that is 0 |
- NetProfit | No | number | No | - | NetProfit is the profit margin to apply to the calculated breakEvenGasPrice |
- BreakEvenFactor | No | number | No | - | BreakEvenFactor is the factor to apply to the calculated breakevenGasPrice when comparing it with the gasPriceSigned of a tx |
- FinalDeviationPct | No | integer | No | - | FinalDeviationPct is the max allowed deviation percentage BreakEvenGasPrice on re-calculation |
- L2GasPriceSuggesterFactor | No | number | No | - | L2GasPriceSuggesterFactor is the factor to apply to L1 gas price to get the suggested L2 gas price used in the calculations when the effective gas price is disabled (testing/metrics purposes) |
Type: : boolean
Default: false
Description: Enabled is a flag to enable/disable the effective gas price
Example setting the default value (false):
[Pool.EffectiveGasPrice]
Enabled=false
Type: : number
Default: 0.25
Description: L1GasPriceFactor is the percentage of the L1 gas price that will be used as the L2 min gas price
Example setting the default value (0.25):
[Pool.EffectiveGasPrice]
L1GasPriceFactor=0.25
Type: : integer
Default: 16
Description: ByteGasCost is the gas cost per byte that is not 0
Example setting the default value (16):
[Pool.EffectiveGasPrice]
ByteGasCost=16
Type: : integer
Default: 4
Description: ZeroByteGasCost is the gas cost per byte that is 0
Example setting the default value (4):
[Pool.EffectiveGasPrice]
ZeroByteGasCost=4
Type: : number
Default: 1
Description: NetProfit is the profit margin to apply to the calculated breakEvenGasPrice
Example setting the default value (1):
[Pool.EffectiveGasPrice]
NetProfit=1
Type: : number
Default: 1.1
Description: BreakEvenFactor is the factor to apply to the calculated breakevenGasPrice when comparing it with the gasPriceSigned of a tx
Example setting the default value (1.1):
[Pool.EffectiveGasPrice]
BreakEvenFactor=1.1
Type: : integer
Default: 10
Description: FinalDeviationPct is the max allowed deviation percentage BreakEvenGasPrice on re-calculation
Example setting the default value (10):
[Pool.EffectiveGasPrice]
FinalDeviationPct=10
Type: : number
Default: 0.5
Description: L2GasPriceSuggesterFactor is the factor to apply to L1 gas price to get the suggested L2 gas price used in the calculations when the effective gas price is disabled (testing/metrics purposes)
Example setting the default value (0.5):
[Pool.EffectiveGasPrice]
L2GasPriceSuggesterFactor=0.5
Type: : object
Description: Configuration for RPC service. THis one offers a extended Ethereum JSON-RPC API interface to interact with the node
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Host | No | string | No | - | Host defines the network adapter that will be used to serve the HTTP requests |
- Port | No | integer | No | - | Port defines the port to serve the endpoints via HTTP |
- ReadTimeout | No | string | No | - | Duration |
- WriteTimeout | No | string | No | - | Duration |
- MaxRequestsPerIPAndSecond | No | number | No | - | MaxRequestsPerIPAndSecond defines how much requests a single IP can send within a single second |
- SequencerNodeURI | No | string | No | - | SequencerNodeURI is used allow Non-Sequencer nodes to relay transactions to the Sequencer node |
- MaxCumulativeGasUsed | No | integer | No | - | MaxCumulativeGasUsed is the max gas allowed per batch |
- WebSockets | No | object | No | - | WebSockets configuration |
- EnableL2SuggestedGasPricePolling | No | boolean | No | - | EnableL2SuggestedGasPricePolling enables polling of the L2 gas price to block tx in the RPC with lower gas price. |
- BatchRequestsEnabled | No | boolean | No | - | BatchRequestsEnabled defines if the Batch requests are enabled or disabled |
- BatchRequestsLimit | No | integer | No | - | BatchRequestsLimit defines the limit of requests that can be incorporated into each batch request |
- L2Coinbase | No | array of integer | No | - | L2Coinbase defines which address is going to receive the fees |
- MaxLogsCount | No | integer | No | - | MaxLogsCount is a configuration to set the max number of logs that can be returned in a single call to the state, if zero it means no limit |
- MaxLogsBlockRange | No | integer | No | - | MaxLogsBlockRange is a configuration to set the max range for block number when querying TXs logs in a single call to the state, if zero it means no limit |
- MaxNativeBlockHashBlockRange | No | integer | No | - | MaxNativeBlockHashBlockRange is a configuration to set the max range for block number when querying native block hashes in a single call to the state, if zero it means no limit |
- EnableHttpLog | No | boolean | No | - | EnableHttpLog allows the user to enable or disable the logs related to the HTTP requests to be captured by the server. |
Type: : string
Default: "0.0.0.0"
Description: Host defines the network adapter that will be used to serve the HTTP requests
Example setting the default value ("0.0.0.0"):
[RPC]
Host="0.0.0.0"
Type: : integer
Default: 8545
Description: Port defines the port to serve the endpoints via HTTP
Example setting the default value (8545):
[RPC]
Port=8545
Title: Duration
Type: : string
Default: "1m0s"
Description: ReadTimeout is the HTTP server read timeout check net/http.server.ReadTimeout and net/http.server.ReadHeaderTimeout
Examples:
"1m"
"300ms"
Example setting the default value ("1m0s"):
[RPC]
ReadTimeout="1m0s"
Title: Duration
Type: : string
Default: "1m0s"
Description: WriteTimeout is the HTTP server write timeout check net/http.server.WriteTimeout
Examples:
"1m"
"300ms"
Example setting the default value ("1m0s"):
[RPC]
WriteTimeout="1m0s"
Type: : number
Default: 500
Description: MaxRequestsPerIPAndSecond defines how much requests a single IP can send within a single second
Example setting the default value (500):
[RPC]
MaxRequestsPerIPAndSecond=500
Type: : string
Default: ""
Description: SequencerNodeURI is used allow Non-Sequencer nodes to relay transactions to the Sequencer node
Example setting the default value (""):
[RPC]
SequencerNodeURI=""
Type: : integer
Default: 0
Description: MaxCumulativeGasUsed is the max gas allowed per batch
Example setting the default value (0):
[RPC]
MaxCumulativeGasUsed=0
Type: : object
Description: WebSockets configuration
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Enabled | No | boolean | No | - | Enabled defines if the WebSocket requests are enabled or disabled |
- Host | No | string | No | - | Host defines the network adapter that will be used to serve the WS requests |
- Port | No | integer | No | - | Port defines the port to serve the endpoints via WS |
- ReadLimit | No | integer | No | - | ReadLimit defines the maximum size of a message read from the client (in bytes) |
Type: : boolean
Default: true
Description: Enabled defines if the WebSocket requests are enabled or disabled
Example setting the default value (true):
[RPC.WebSockets]
Enabled=true
Type: : string
Default: "0.0.0.0"
Description: Host defines the network adapter that will be used to serve the WS requests
Example setting the default value ("0.0.0.0"):
[RPC.WebSockets]
Host="0.0.0.0"
Type: : integer
Default: 8546
Description: Port defines the port to serve the endpoints via WS
Example setting the default value (8546):
[RPC.WebSockets]
Port=8546
Type: : integer
Default: 104857600
Description: ReadLimit defines the maximum size of a message read from the client (in bytes)
Example setting the default value (104857600):
[RPC.WebSockets]
ReadLimit=104857600
Type: : boolean
Default: true
Description: EnableL2SuggestedGasPricePolling enables polling of the L2 gas price to block tx in the RPC with lower gas price.
Example setting the default value (true):
[RPC]
EnableL2SuggestedGasPricePolling=true
Type: : boolean
Default: false
Description: BatchRequestsEnabled defines if the Batch requests are enabled or disabled
Example setting the default value (false):
[RPC]
BatchRequestsEnabled=false
Type: : integer
Default: 20
Description: BatchRequestsLimit defines the limit of requests that can be incorporated into each batch request
Example setting the default value (20):
[RPC]
BatchRequestsLimit=20
Type: : array of integer
Description: L2Coinbase defines which address is going to receive the fees
Type: : integer
Default: 10000
Description: MaxLogsCount is a configuration to set the max number of logs that can be returned in a single call to the state, if zero it means no limit
Example setting the default value (10000):
[RPC]
MaxLogsCount=10000
Type: : integer
Default: 10000
Description: MaxLogsBlockRange is a configuration to set the max range for block number when querying TXs logs in a single call to the state, if zero it means no limit
Example setting the default value (10000):
[RPC]
MaxLogsBlockRange=10000
Type: : integer
Default: 60000
Description: MaxNativeBlockHashBlockRange is a configuration to set the max range for block number when querying native block hashes in a single call to the state, if zero it means no limit
Example setting the default value (60000):
[RPC]
MaxNativeBlockHashBlockRange=60000
Type: : boolean
Default: true
Description: EnableHttpLog allows the user to enable or disable the logs related to the HTTP requests to be captured by the server.
Example setting the default value (true):
[RPC]
EnableHttpLog=true
Type: : object
Description: Configuration of service Syncrhonizer
. For this service is also really important the value of IsTrustedSequencer
because depending of this values is going to ask to a trusted node for trusted transactions or not
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- SyncInterval | No | string | No | - | Duration |
- SyncChunkSize | No | integer | No | - | SyncChunkSize is the number of blocks to sync on each chunk |
- TrustedSequencerURL | No | string | No | - | TrustedSequencerURL is the rpc url to connect and sync the trusted state |
- L1SynchronizationMode | No | enum (of string) | No | - | L1SynchronizationMode define how to synchronize with L1: - parallel: Request data to L1 in parallel, and process sequentially. The advantage is that executor is not blocked waiting for L1 data - sequential: Request data to L1 and execute |
- L1ParallelSynchronization | No | object | No | - | L1ParallelSynchronization Configuration for parallel mode (if L1SynchronizationMode equal to 'parallel') |
Title: Duration
Type: : string
Default: "1s"
Description: SyncInterval is the delay interval between reading new rollup information
Examples:
"1m"
"300ms"
Example setting the default value ("1s"):
[Synchronizer]
SyncInterval="1s"
Type: : integer
Default: 100
Description: SyncChunkSize is the number of blocks to sync on each chunk
Example setting the default value (100):
[Synchronizer]
SyncChunkSize=100
Type: : string
Default: ""
Description: TrustedSequencerURL is the rpc url to connect and sync the trusted state
Example setting the default value (""):
[Synchronizer]
TrustedSequencerURL=""
Type: : enum (of string)
Default: "sequential"
Description: L1SynchronizationMode define how to synchronize with L1:
- parallel: Request data to L1 in parallel, and process sequentially. The advantage is that executor is not blocked waiting for L1 data
- sequential: Request data to L1 and execute
Example setting the default value ("sequential"):
[Synchronizer]
L1SynchronizationMode="sequential"
Must be one of:
- "sequential"
- "parallel"
Type: : object
Description: L1ParallelSynchronization Configuration for parallel mode (if L1SynchronizationMode equal to 'parallel')
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- MaxClients | No | integer | No | - | MaxClients Number of clients used to synchronize with L1 |
- MaxPendingNoProcessedBlocks | No | integer | No | - | MaxPendingNoProcessedBlocks Size of the buffer used to store rollup information from L1, must be >= to NumberOfEthereumClientsToSync sugested twice of NumberOfParallelOfEthereumClients |
- RequestLastBlockPeriod | No | string | No | - | Duration |
- PerformanceWarning | No | object | No | - | Consumer Configuration for the consumer of rollup information from L1 |
- RequestLastBlockTimeout | No | string | No | - | Duration |
- RequestLastBlockMaxRetries | No | integer | No | - | RequestLastBlockMaxRetries Max number of retries to request LastBlock On L1 |
- StatisticsPeriod | No | string | No | - | Duration |
- TimeOutMainLoop | No | string | No | - | Duration |
- RollupInfoRetriesSpacing | No | string | No | - | Duration |
- FallbackToSequentialModeOnSynchronized | No | boolean | No | - | FallbackToSequentialModeOnSynchronized if true switch to sequential mode if the system is synchronized |
Type: : integer
Default: 10
Description: MaxClients Number of clients used to synchronize with L1
Example setting the default value (10):
[Synchronizer.L1ParallelSynchronization]
MaxClients=10
Type: : integer
Default: 25
Description: MaxPendingNoProcessedBlocks Size of the buffer used to store rollup information from L1, must be >= to NumberOfEthereumClientsToSync sugested twice of NumberOfParallelOfEthereumClients
Example setting the default value (25):
[Synchronizer.L1ParallelSynchronization]
MaxPendingNoProcessedBlocks=25
Title: Duration
Type: : string
Default: "5s"
Description: RequestLastBlockPeriod is the time to wait to request the last block to L1 to known if we need to retrieve more data. This value only apply when the system is synchronized
Examples:
"1m"
"300ms"
Example setting the default value ("5s"):
[Synchronizer.L1ParallelSynchronization]
RequestLastBlockPeriod="5s"
Type: : object
Description: Consumer Configuration for the consumer of rollup information from L1
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- AceptableInacctivityTime | No | string | No | - | Duration |
- ApplyAfterNumRollupReceived | No | integer | No | - | ApplyAfterNumRollupReceived is the number of iterations to start checking the time waiting for new rollup info data |
Title: Duration
Type: : string
Default: "5s"
Description: AceptableInacctivityTime is the expected maximum time that the consumer could wait until new data is produced. If the time is greater it emmit a log to warn about that. The idea is keep working the consumer as much as possible, so if the producer is not fast enought then you could increse the number of parallel clients to sync with L1
Examples:
"1m"
"300ms"
Example setting the default value ("5s"):
[Synchronizer.L1ParallelSynchronization.PerformanceWarning]
AceptableInacctivityTime="5s"
Type: : integer
Default: 10
Description: ApplyAfterNumRollupReceived is the number of iterations to start checking the time waiting for new rollup info data
Example setting the default value (10):
[Synchronizer.L1ParallelSynchronization.PerformanceWarning]
ApplyAfterNumRollupReceived=10
Title: Duration
Type: : string
Default: "5s"
Description: RequestLastBlockTimeout Timeout for request LastBlock On L1
Examples:
"1m"
"300ms"
Example setting the default value ("5s"):
[Synchronizer.L1ParallelSynchronization]
RequestLastBlockTimeout="5s"
Type: : integer
Default: 3
Description: RequestLastBlockMaxRetries Max number of retries to request LastBlock On L1
Example setting the default value (3):
[Synchronizer.L1ParallelSynchronization]
RequestLastBlockMaxRetries=3
Title: Duration
Type: : string
Default: "5m0s"
Description: StatisticsPeriod how ofter show a log with statistics (0 is disabled)
Examples:
"1m"
"300ms"
Example setting the default value ("5m0s"):
[Synchronizer.L1ParallelSynchronization]
StatisticsPeriod="5m0s"
Title: Duration
Type: : string
Default: "5m0s"
Description: TimeOutMainLoop is the timeout for the main loop of the L1 synchronizer when is not updated
Examples:
"1m"
"300ms"
Example setting the default value ("5m0s"):
[Synchronizer.L1ParallelSynchronization]
TimeOutMainLoop="5m0s"
Title: Duration
Type: : string
Default: "5s"
Description: RollupInfoRetriesSpacing is the minimum time between retries to request rollup info (it will sleep for fulfill this time) to avoid spamming L1
Examples:
"1m"
"300ms"
Example setting the default value ("5s"):
[Synchronizer.L1ParallelSynchronization]
RollupInfoRetriesSpacing="5s"
Type: : boolean
Default: false
Description: FallbackToSequentialModeOnSynchronized if true switch to sequential mode if the system is synchronized
Example setting the default value (false):
[Synchronizer.L1ParallelSynchronization]
FallbackToSequentialModeOnSynchronized=false
Type: : object
Description: Configuration of the sequencer service
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- WaitPeriodPoolIsEmpty | No | string | No | - | Duration |
- BlocksAmountForTxsToBeDeleted | No | integer | No | - | BlocksAmountForTxsToBeDeleted is blocks amount after which txs will be deleted from the pool |
- FrequencyToCheckTxsForDelete | No | string | No | - | Duration |
- TxLifetimeCheckTimeout | No | string | No | - | Duration |
- MaxTxLifetime | No | string | No | - | Duration |
- Finalizer | No | object | No | - | Finalizer's specific config properties |
- DBManager | No | object | No | - | DBManager's specific config properties |
- StreamServer | No | object | No | - | StreamServerCfg is the config for the stream server |
Title: Duration
Type: : string
Default: "1s"
Description: WaitPeriodPoolIsEmpty is the time the sequencer waits until trying to add new txs to the state
Examples:
"1m"
"300ms"
Example setting the default value ("1s"):
[Sequencer]
WaitPeriodPoolIsEmpty="1s"
Type: : integer
Default: 100
Description: BlocksAmountForTxsToBeDeleted is blocks amount after which txs will be deleted from the pool
Example setting the default value (100):
[Sequencer]
BlocksAmountForTxsToBeDeleted=100
Title: Duration
Type: : string
Default: "12h0m0s"
Description: FrequencyToCheckTxsForDelete is frequency with which txs will be checked for deleting
Examples:
"1m"
"300ms"
Example setting the default value ("12h0m0s"):
[Sequencer]
FrequencyToCheckTxsForDelete="12h0m0s"
Title: Duration
Type: : string
Default: "10m0s"
Description: TxLifetimeCheckTimeout is the time the sequencer waits to check txs lifetime
Examples:
"1m"
"300ms"
Example setting the default value ("10m0s"):
[Sequencer]
TxLifetimeCheckTimeout="10m0s"
Title: Duration
Type: : string
Default: "3h0m0s"
Description: MaxTxLifetime is the time a tx can be in the sequencer/worker memory
Examples:
"1m"
"300ms"
Example setting the default value ("3h0m0s"):
[Sequencer]
MaxTxLifetime="3h0m0s"
Type: : object
Description: Finalizer's specific config properties
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- GERDeadlineTimeout | No | string | No | - | Duration |
- ForcedBatchDeadlineTimeout | No | string | No | - | Duration |
- SleepDuration | No | string | No | - | Duration |
- ResourcePercentageToCloseBatch | No | integer | No | - | ResourcePercentageToCloseBatch is the percentage window of the resource left out for the batch to be closed |
- GERFinalityNumberOfBlocks | No | integer | No | - | GERFinalityNumberOfBlocks is number of blocks to consider GER final |
- ClosingSignalsManagerWaitForCheckingL1Timeout | No | string | No | - | Duration |
- ClosingSignalsManagerWaitForCheckingGER | No | string | No | - | Duration |
- ClosingSignalsManagerWaitForCheckingForcedBatches | No | string | No | - | Duration |
- ForcedBatchesFinalityNumberOfBlocks | No | integer | No | - | ForcedBatchesFinalityNumberOfBlocks is number of blocks to consider GER final |
- TimestampResolution | No | string | No | - | Duration |
- StopSequencerOnBatchNum | No | integer | No | - | StopSequencerOnBatchNum specifies the batch number where the Sequencer will stop to process more transactions and generate new batches. The Sequencer will halt after it closes the batch equal to this number |
- SequentialReprocessFullBatch | No | boolean | No | - | SequentialReprocessFullBatch indicates if the reprocess of a closed batch (sanity check) must be done in a sequential way (instead than in parallel) |
Title: Duration
Type: : string
Default: "5s"
Description: GERDeadlineTimeout is the time the finalizer waits after receiving closing signal to update Global Exit Root
Examples:
"1m"
"300ms"
Example setting the default value ("5s"):
[Sequencer.Finalizer]
GERDeadlineTimeout="5s"
Title: Duration
Type: : string
Default: "1m0s"
Description: ForcedBatchDeadlineTimeout is the time the finalizer waits after receiving closing signal to process Forced Batches
Examples:
"1m"
"300ms"
Example setting the default value ("1m0s"):
[Sequencer.Finalizer]
ForcedBatchDeadlineTimeout="1m0s"
Title: Duration
Type: : string
Default: "100ms"
Description: SleepDuration is the time the finalizer sleeps between each iteration, if there are no transactions to be processed
Examples:
"1m"
"300ms"
Example setting the default value ("100ms"):
[Sequencer.Finalizer]
SleepDuration="100ms"
Type: : integer
Default: 10
Description: ResourcePercentageToCloseBatch is the percentage window of the resource left out for the batch to be closed
Example setting the default value (10):
[Sequencer.Finalizer]
ResourcePercentageToCloseBatch=10
Type: : integer
Default: 64
Description: GERFinalityNumberOfBlocks is number of blocks to consider GER final
Example setting the default value (64):
[Sequencer.Finalizer]
GERFinalityNumberOfBlocks=64
Title: Duration
Type: : string
Default: "10s"
Description: ClosingSignalsManagerWaitForCheckingL1Timeout is used by the closing signals manager to wait for its operation
Examples:
"1m"
"300ms"
Example setting the default value ("10s"):
[Sequencer.Finalizer]
ClosingSignalsManagerWaitForCheckingL1Timeout="10s"
Title: Duration
Type: : string
Default: "10s"
Description: ClosingSignalsManagerWaitForCheckingGER is used by the closing signals manager to wait for its operation
Examples:
"1m"
"300ms"
Example setting the default value ("10s"):
[Sequencer.Finalizer]
ClosingSignalsManagerWaitForCheckingGER="10s"
Title: Duration
Type: : string
Default: "10s"
Description: ClosingSignalsManagerWaitForCheckingL1Timeout is used by the closing signals manager to wait for its operation
Examples:
"1m"
"300ms"
Example setting the default value ("10s"):
[Sequencer.Finalizer]
ClosingSignalsManagerWaitForCheckingForcedBatches="10s"
Type: : integer
Default: 64
Description: ForcedBatchesFinalityNumberOfBlocks is number of blocks to consider GER final
Example setting the default value (64):
[Sequencer.Finalizer]
ForcedBatchesFinalityNumberOfBlocks=64
Title: Duration
Type: : string
Default: "10s"
Description: TimestampResolution is the resolution of the timestamp used to close a batch
Examples:
"1m"
"300ms"
Example setting the default value ("10s"):
[Sequencer.Finalizer]
TimestampResolution="10s"
Type: : integer
Default: 0
Description: StopSequencerOnBatchNum specifies the batch number where the Sequencer will stop to process more transactions and generate new batches. The Sequencer will halt after it closes the batch equal to this number
Example setting the default value (0):
[Sequencer.Finalizer]
StopSequencerOnBatchNum=0
Type: : boolean
Default: false
Description: SequentialReprocessFullBatch indicates if the reprocess of a closed batch (sanity check) must be done in a sequential way (instead than in parallel)
Example setting the default value (false):
[Sequencer.Finalizer]
SequentialReprocessFullBatch=false
Type: : object
Description: DBManager's specific config properties
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- PoolRetrievalInterval | No | string | No | - | Duration |
- L2ReorgRetrievalInterval | No | string | No | - | Duration |
Title: Duration
Type: : string
Default: "500ms"
Examples:
"1m"
"300ms"
Example setting the default value ("500ms"):
[Sequencer.DBManager]
PoolRetrievalInterval="500ms"
Title: Duration
Type: : string
Default: "5s"
Examples:
"1m"
"300ms"
Example setting the default value ("5s"):
[Sequencer.DBManager]
L2ReorgRetrievalInterval="5s"
Type: : object
Description: StreamServerCfg is the config for the stream server
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Port | No | integer | No | - | Port to listen on |
- Filename | No | string | No | - | Filename of the binary data file |
- Enabled | No | boolean | No | - | Enabled is a flag to enable/disable the data streamer |
- Log | No | object | No | - | Log is the log configuration |
Type: : integer
Default: 0
Description: Port to listen on
Example setting the default value (0):
[Sequencer.StreamServer]
Port=0
Type: : string
Default: ""
Description: Filename of the binary data file
Example setting the default value (""):
[Sequencer.StreamServer]
Filename=""
Type: : boolean
Default: false
Description: Enabled is a flag to enable/disable the data streamer
Example setting the default value (false):
[Sequencer.StreamServer]
Enabled=false
Type: : object
Description: Log is the log configuration
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Environment | No | enum (of string) | No | - | - |
- Level | No | enum (of string) | No | - | - |
- Outputs | No | array of string | No | - | - |
Type: : enum (of string)
Default: ""
Example setting the default value (""):
[Sequencer.StreamServer.Log]
Environment=""
Must be one of:
- "production"
- "development"
Type: : enum (of string)
Default: ""
Example setting the default value (""):
[Sequencer.StreamServer.Log]
Level=""
Must be one of:
- "debug"
- "info"
- "warn"
- "error"
- "dpanic"
- "panic"
- "fatal"
Type: : array of string
Type: : object
Description: Configuration of the sequence sender service
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- WaitPeriodSendSequence | No | string | No | - | Duration |
- LastBatchVirtualizationTimeMaxWaitPeriod | No | string | No | - | Duration |
- MaxTxSizeForL1 | No | integer | No | - | MaxTxSizeForL1 is the maximum size a single transaction can have. This field has non-trivial consequences: larger transactions than 128KB are significantly harder and more expensive to propagate; larger transactions also take more resources to validate whether they fit into the pool or not. |
- SenderAddress | No | array of integer | No | - | SenderAddress defines which private key the eth tx manager needs to use to sign the L1 txs |
- L2Coinbase | No | array of integer | No | - | L2Coinbase defines which address is going to receive the fees |
- PrivateKey | No | object | No | - | PrivateKey defines all the key store files that are going to be read in order to provide the private keys to sign the L1 txs |
- ForkUpgradeBatchNumber | No | integer | No | - | Batch number where there is a forkid change (fork upgrade) |
- GasOffset | No | integer | No | - | GasOffset is the amount of gas to be added to the gas estimation in order to provide an amount that is higher than the estimated one. This is used to avoid the TX getting reverted in case something has changed in the network state after the estimation which can cause the TX to require more gas to be executed. ex: gas estimation: 1000 gas offset: 100 final gas: 1100 |
- MaxBatchesForL1 | No | integer | No | - | MaxBatchesForL1 is the maximum amount of batches to be sequenced in a single L1 tx |
Title: Duration
Type: : string
Default: "5s"
Description: WaitPeriodSendSequence is the time the sequencer waits until trying to send a sequence to L1
Examples:
"1m"
"300ms"
Example setting the default value ("5s"):
[SequenceSender]
WaitPeriodSendSequence="5s"
Title: Duration
Type: : string
Default: "5s"
Description: LastBatchVirtualizationTimeMaxWaitPeriod is time since sequences should be sent
Examples:
"1m"
"300ms"
Example setting the default value ("5s"):
[SequenceSender]
LastBatchVirtualizationTimeMaxWaitPeriod="5s"
Type: : integer
Default: 131072
Description: MaxTxSizeForL1 is the maximum size a single transaction can have. This field has non-trivial consequences: larger transactions than 128KB are significantly harder and more expensive to propagate; larger transactions also take more resources to validate whether they fit into the pool or not.
Example setting the default value (131072):
[SequenceSender]
MaxTxSizeForL1=131072
Type: : array of integer
Description: SenderAddress defines which private key the eth tx manager needs to use
to sign the L1 txs
Type: : array of integer
Default: "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266"
Description: L2Coinbase defines which address is going to receive the fees
Example setting the default value ("0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266"):
[SequenceSender]
L2Coinbase="0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266"
Type: : object
Description: PrivateKey defines all the key store files that are going
to be read in order to provide the private keys to sign the L1 txs
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Path | No | string | No | - | Path is the file path for the key store file |
- Password | No | string | No | - | Password is the password to decrypt the key store file |
Type: : string
Default: "/pk/sequencer.keystore"
Description: Path is the file path for the key store file
Example setting the default value ("/pk/sequencer.keystore"):
[SequenceSender.PrivateKey]
Path="/pk/sequencer.keystore"
Type: : string
Default: "testonly"
Description: Password is the password to decrypt the key store file
Example setting the default value ("testonly"):
[SequenceSender.PrivateKey]
Password="testonly"
Type: : integer
Default: 0
Description: Batch number where there is a forkid change (fork upgrade)
Example setting the default value (0):
[SequenceSender]
ForkUpgradeBatchNumber=0
Type: : integer
Default: 80000
Description: GasOffset is the amount of gas to be added to the gas estimation in order to provide an amount that is higher than the estimated one. This is used to avoid the TX getting reverted in case something has changed in the network state after the estimation which can cause the TX to require more gas to be executed.
ex: gas estimation: 1000 gas offset: 100 final gas: 1100
Example setting the default value (80000):
[SequenceSender]
GasOffset=80000
Type: : integer
Default: 300
Description: MaxBatchesForL1 is the maximum amount of batches to be sequenced in a single L1 tx
Example setting the default value (300):
[SequenceSender]
MaxBatchesForL1=300
Type: : object
Description: Configuration of the aggregator service
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Host | No | string | No | - | Host for the grpc server |
- Port | No | integer | No | - | Port for the grpc server |
- RetryTime | No | string | No | - | Duration |
- VerifyProofInterval | No | string | No | - | Duration |
- ProofStatePollingInterval | No | string | No | - | Duration |
- TxProfitabilityCheckerType | No | string | No | - | TxProfitabilityCheckerType type for checking is it profitable for aggregator to validate batch possible values: base/acceptall |
- TxProfitabilityMinReward | No | object | No | - | TxProfitabilityMinReward min reward for base tx profitability checker when aggregator will validate batch this parameter is used for the base tx profitability checker |
- IntervalAfterWhichBatchConsolidateAnyway | No | string | No | - | Duration |
- ChainID | No | integer | No | - | ChainID is the L2 ChainID provided by the Network Config |
- ForkId | No | integer | No | - | ForkID is the L2 ForkID provided by the Network Config |
- SenderAddress | No | string | No | - | SenderAddress defines which private key the eth tx manager needs to use to sign the L1 txs |
- CleanupLockedProofsInterval | No | string | No | - | Duration |
- GeneratingProofCleanupThreshold | No | string | No | - | GeneratingProofCleanupThreshold represents the time interval after which a proof in generating state is considered to be stuck and allowed to be cleared. |
- GasOffset | No | integer | No | - | GasOffset is the amount of gas to be added to the gas estimation in order to provide an amount that is higher than the estimated one. This is used to avoid the TX getting reverted in case something has changed in the network state after the estimation which can cause the TX to require more gas to be executed. ex: gas estimation: 1000 gas offset: 100 final gas: 1100 |
Type: : string
Default: "0.0.0.0"
Description: Host for the grpc server
Example setting the default value ("0.0.0.0"):
[Aggregator]
Host="0.0.0.0"
Type: : integer
Default: 50081
Description: Port for the grpc server
Example setting the default value (50081):
[Aggregator]
Port=50081
Title: Duration
Type: : string
Default: "5s"
Description: RetryTime is the time the aggregator main loop sleeps if there are no proofs to aggregate or batches to generate proofs. It is also used in the isSynced loop
Examples:
"1m"
"300ms"
Example setting the default value ("5s"):
[Aggregator]
RetryTime="5s"
Title: Duration
Type: : string
Default: "1m30s"
Description: VerifyProofInterval is the interval of time to verify/send an proof in L1
Examples:
"1m"
"300ms"
Example setting the default value ("1m30s"):
[Aggregator]
VerifyProofInterval="1m30s"
Title: Duration
Type: : string
Default: "5s"
Description: ProofStatePollingInterval is the interval time to polling the prover about the generation state of a proof
Examples:
"1m"
"300ms"
Example setting the default value ("5s"):
[Aggregator]
ProofStatePollingInterval="5s"
Type: : string
Default: "acceptall"
Description: TxProfitabilityCheckerType type for checking is it profitable for aggregator to validate batch possible values: base/acceptall
Example setting the default value ("acceptall"):
[Aggregator]
TxProfitabilityCheckerType="acceptall"
Type: : object
Description: TxProfitabilityMinReward min reward for base tx profitability checker when aggregator will validate batch
this parameter is used for the base tx profitability checker
Title: Duration
Type: : string
Default: "0s"
Description: IntervalAfterWhichBatchConsolidateAnyway this is interval for the main sequencer, that will check if there is no transactions
Examples:
"1m"
"300ms"
Example setting the default value ("0s"):
[Aggregator]
IntervalAfterWhichBatchConsolidateAnyway="0s"
Type: : integer
Default: 0
Description: ChainID is the L2 ChainID provided by the Network Config
Example setting the default value (0):
[Aggregator]
ChainID=0
Type: : integer
Default: 0
Description: ForkID is the L2 ForkID provided by the Network Config
Example setting the default value (0):
[Aggregator]
ForkId=0
Type: : string
Default: ""
Description: SenderAddress defines which private key the eth tx manager needs to use to sign the L1 txs
Example setting the default value (""):
[Aggregator]
SenderAddress=""
Title: Duration
Type: : string
Default: "2m0s"
Description: CleanupLockedProofsInterval is the interval of time to clean up locked proofs.
Examples:
"1m"
"300ms"
Example setting the default value ("2m0s"):
[Aggregator]
CleanupLockedProofsInterval="2m0s"
Type: : string
Default: "10m"
Description: GeneratingProofCleanupThreshold represents the time interval after which a proof in generating state is considered to be stuck and allowed to be cleared.
Example setting the default value ("10m"):
[Aggregator]
GeneratingProofCleanupThreshold="10m"
Type: : integer
Default: 0
Description: GasOffset is the amount of gas to be added to the gas estimation in order to provide an amount that is higher than the estimated one. This is used to avoid the TX getting reverted in case something has changed in the network state after the estimation which can cause the TX to require more gas to be executed.
ex: gas estimation: 1000 gas offset: 100 final gas: 1100
Example setting the default value (0):
[Aggregator]
GasOffset=0
Type: : object
Description: Configuration of the genesis of the network. This is used to known the initial state of the network
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- l1Config | No | object | No | - | L1: Configuration related to L1 |
- L2GlobalExitRootManagerAddr | No | array of integer | No | - | DEPRECATED L2: address of the `PolygonZkEVMGlobalExitRootL2 proxy` smart contract |
- L2BridgeAddr | No | array of integer | No | - | L2: address of the `PolygonZkEVMBridge proxy` smart contract |
- Genesis | No | object | No | - | L1: Genesis of the rollup, first block number and root |
Type: : object
Description: L1: Configuration related to L1
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- chainId | No | integer | No | - | Chain ID of the L1 network |
- polygonZkEVMAddress | No | array of integer | No | - | Address of the L1 contract |
- maticTokenAddress | No | array of integer | No | - | Address of the L1 Matic token Contract |
- polygonZkEVMGlobalExitRootAddress | No | array of integer | No | - | Address of the L1 GlobalExitRootManager contract |
- cdkDataCommitteeContract | No | array of integer | No | - | Address of the data availability committee contract |
Type: : integer
Default: 0
Description: Chain ID of the L1 network
Example setting the default value (0):
[NetworkConfig.l1Config]
chainId=0
Type: : array of integer
Description: Address of the L1 contract
Type: : array of integer
Description: Address of the L1 Matic token Contract
Type: : array of integer
Description: Address of the L1 GlobalExitRootManager contract
Type: : array of integer
Description: Address of the data availability committee contract
Type: : array of integer
Description: DEPRECATED L2: address of the PolygonZkEVMGlobalExitRootL2 proxy
smart contract
Type: : array of integer
Description: L2: address of the PolygonZkEVMBridge proxy
smart contract
Type: : object
Description: L1: Genesis of the rollup, first block number and root
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- GenesisBlockNum | No | integer | No | - | GenesisBlockNum is the block number where the polygonZKEVM smc was deployed on L1 |
- Root | No | array of integer | No | - | Root hash of the genesis block |
- GenesisActions | No | array of object | No | - | Contracts to be deployed to L2 |
Type: : integer
Default: 0
Description: GenesisBlockNum is the block number where the polygonZKEVM smc was deployed on L1
Example setting the default value (0):
[NetworkConfig.Genesis]
GenesisBlockNum=0
Type: : array of integer
Description: Root hash of the genesis block
Type: : array of object
Description: Contracts to be deployed to L2
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
Each item of this array must be | Description |
---|---|
GenesisActions items | GenesisAction represents one of the values set on the SMT during genesis. |
Type: : object
Description: GenesisAction represents one of the values set on the SMT during genesis.
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- address | No | string | No | - | - |
- type | No | integer | No | - | - |
- storagePosition | No | string | No | - | - |
- bytecode | No | string | No | - | - |
- key | No | string | No | - | - |
- value | No | string | No | - | - |
- root | No | string | No | - | - |
Type: : string
Type: : integer
Type: : string
Type: : string
Type: : string
Type: : string
Type: : string
Type: : object
Description: Configuration of the gas price suggester service
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Type | No | string | No | - | - |
- DefaultGasPriceWei | No | integer | No | - | DefaultGasPriceWei is used to set the gas price to be used by the default gas pricer or as minimim gas price by the follower gas pricer. |
- MaxGasPriceWei | No | integer | No | - | MaxGasPriceWei is used to limit the gas price returned by the follower gas pricer to a maximum value. It is ignored if 0. |
- MaxPrice | No | object | No | - | - |
- IgnorePrice | No | object | No | - | - |
- CheckBlocks | No | integer | No | - | - |
- Percentile | No | integer | No | - | - |
- UpdatePeriod | No | string | No | - | Duration |
- CleanHistoryPeriod | No | string | No | - | Duration |
- CleanHistoryTimeRetention | No | string | No | - | Duration |
- Factor | No | number | No | - | - |
Type: : string
Default: "follower"
Example setting the default value ("follower"):
[L2GasPriceSuggester]
Type="follower"
Type: : integer
Default: 2000000000
Description: DefaultGasPriceWei is used to set the gas price to be used by the default gas pricer or as minimim gas price by the follower gas pricer.
Example setting the default value (2000000000):
[L2GasPriceSuggester]
DefaultGasPriceWei=2000000000
Type: : integer
Default: 0
Description: MaxGasPriceWei is used to limit the gas price returned by the follower gas pricer to a maximum value. It is ignored if 0.
Example setting the default value (0):
[L2GasPriceSuggester]
MaxGasPriceWei=0
Type: : object
Type: : object
Type: : integer
Default: 0
Example setting the default value (0):
[L2GasPriceSuggester]
CheckBlocks=0
Type: : integer
Default: 0
Example setting the default value (0):
[L2GasPriceSuggester]
Percentile=0
Title: Duration
Type: : string
Default: "10s"
Examples:
"1m"
"300ms"
Example setting the default value ("10s"):
[L2GasPriceSuggester]
UpdatePeriod="10s"
Title: Duration
Type: : string
Default: "1h0m0s"
Examples:
"1m"
"300ms"
Example setting the default value ("1h0m0s"):
[L2GasPriceSuggester]
CleanHistoryPeriod="1h0m0s"
Title: Duration
Type: : string
Default: "5m0s"
Examples:
"1m"
"300ms"
Example setting the default value ("5m0s"):
[L2GasPriceSuggester]
CleanHistoryTimeRetention="5m0s"
Type: : number
Default: 0.15
Example setting the default value (0.15):
[L2GasPriceSuggester]
Factor=0.15
Type: : object
Description: Configuration of the executor service
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- URI | No | string | No | - | - |
- MaxResourceExhaustedAttempts | No | integer | No | - | MaxResourceExhaustedAttempts is the max number of attempts to make a transaction succeed because of resource exhaustion |
- WaitOnResourceExhaustion | No | string | No | - | Duration |
- MaxGRPCMessageSize | No | integer | No | - | - |
Type: : string
Default: "zkevm-prover:50071"
Example setting the default value ("zkevm-prover:50071"):
[Executor]
URI="zkevm-prover:50071"
Type: : integer
Default: 3
Description: MaxResourceExhaustedAttempts is the max number of attempts to make a transaction succeed because of resource exhaustion
Example setting the default value (3):
[Executor]
MaxResourceExhaustedAttempts=3
Title: Duration
Type: : string
Default: "1s"
Description: WaitOnResourceExhaustion is the time to wait before retrying a transaction because of resource exhaustion
Examples:
"1m"
"300ms"
Example setting the default value ("1s"):
[Executor]
WaitOnResourceExhaustion="1s"
Type: : integer
Default: 100000000
Example setting the default value (100000000):
[Executor]
MaxGRPCMessageSize=100000000
Type: : object
Description: Configuration of the merkle tree client service. Not use in the node, only for testing
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- URI | No | string | No | - | URI is the server URI. |
Type: : string
Default: "zkevm-prover:50061"
Description: URI is the server URI.
Example setting the default value ("zkevm-prover:50061"):
[MTClient]
URI="zkevm-prover:50061"
Type: : object
Description: Configuration of the metrics service, basically is where is going to publish the metrics
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Host | No | string | No | - | Host is the address to bind the metrics server |
- Port | No | integer | No | - | Port is the port to bind the metrics server |
- Enabled | No | boolean | No | - | Enabled is the flag to enable/disable the metrics server |
- ProfilingHost | No | string | No | - | ProfilingHost is the address to bind the profiling server |
- ProfilingPort | No | integer | No | - | ProfilingPort is the port to bind the profiling server |
- ProfilingEnabled | No | boolean | No | - | ProfilingEnabled is the flag to enable/disable the profiling server |
Type: : string
Default: "0.0.0.0"
Description: Host is the address to bind the metrics server
Example setting the default value ("0.0.0.0"):
[Metrics]
Host="0.0.0.0"
Type: : integer
Default: 9091
Description: Port is the port to bind the metrics server
Example setting the default value (9091):
[Metrics]
Port=9091
Type: : boolean
Default: false
Description: Enabled is the flag to enable/disable the metrics server
Example setting the default value (false):
[Metrics]
Enabled=false
Type: : string
Default: ""
Description: ProfilingHost is the address to bind the profiling server
Example setting the default value (""):
[Metrics]
ProfilingHost=""
Type: : integer
Default: 0
Description: ProfilingPort is the port to bind the profiling server
Example setting the default value (0):
[Metrics]
ProfilingPort=0
Type: : boolean
Default: false
Description: ProfilingEnabled is the flag to enable/disable the profiling server
Example setting the default value (false):
[Metrics]
ProfilingEnabled=false
Type: : object
Description: Configuration of the event database connection
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- DB | No | object | No | - | DB is the database configuration |
Type: : object
Description: DB is the database configuration
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Name | No | string | No | - | Database name |
- User | No | string | No | - | Database User name |
- Password | No | string | No | - | Database Password of the user |
- Host | No | string | No | - | Host address of database |
- Port | No | string | No | - | Port Number of database |
- EnableLog | No | boolean | No | - | EnableLog |
- MaxConns | No | integer | No | - | MaxConns is the maximum number of connections in the pool. |
Type: : string
Default: ""
Description: Database name
Example setting the default value (""):
[EventLog.DB]
Name=""
Type: : string
Default: ""
Description: Database User name
Example setting the default value (""):
[EventLog.DB]
User=""
Type: : string
Default: ""
Description: Database Password of the user
Example setting the default value (""):
[EventLog.DB]
Password=""
Type: : string
Default: ""
Description: Host address of database
Example setting the default value (""):
[EventLog.DB]
Host=""
Type: : string
Default: ""
Description: Port Number of database
Example setting the default value (""):
[EventLog.DB]
Port=""
Type: : boolean
Default: false
Description: EnableLog
Example setting the default value (false):
[EventLog.DB]
EnableLog=false
Type: : integer
Default: 0
Description: MaxConns is the maximum number of connections in the pool.
Example setting the default value (0):
[EventLog.DB]
MaxConns=0
Type: : object
Description: Configuration of the hash database connection
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Name | No | string | No | - | Database name |
- User | No | string | No | - | Database User name |
- Password | No | string | No | - | Database Password of the user |
- Host | No | string | No | - | Host address of database |
- Port | No | string | No | - | Port Number of database |
- EnableLog | No | boolean | No | - | EnableLog |
- MaxConns | No | integer | No | - | MaxConns is the maximum number of connections in the pool. |
Type: : string
Default: "prover_db"
Description: Database name
Example setting the default value ("prover_db"):
[HashDB]
Name="prover_db"
Type: : string
Default: "prover_user"
Description: Database User name
Example setting the default value ("prover_user"):
[HashDB]
User="prover_user"
Type: : string
Default: "prover_pass"
Description: Database Password of the user
Example setting the default value ("prover_pass"):
[HashDB]
Password="prover_pass"
Type: : string
Default: "zkevm-state-db"
Description: Host address of database
Example setting the default value ("zkevm-state-db"):
[HashDB]
Host="zkevm-state-db"
Type: : string
Default: "5432"
Description: Port Number of database
Example setting the default value ("5432"):
[HashDB]
Port="5432"
Type: : boolean
Default: false
Description: EnableLog
Example setting the default value (false):
[HashDB]
EnableLog=false
Type: : integer
Default: 200
Description: MaxConns is the maximum number of connections in the pool.
Example setting the default value (200):
[HashDB]
MaxConns=200
Type: : object
Description: State service configuration
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- MaxCumulativeGasUsed | No | integer | No | - | MaxCumulativeGasUsed is the max gas allowed per batch |
- ChainID | No | integer | No | - | ChainID is the L2 ChainID provided by the Network Config |
- ForkIDIntervals | No | array of object | No | - | ForkIdIntervals is the list of fork id intervals |
- MaxResourceExhaustedAttempts | No | integer | No | - | MaxResourceExhaustedAttempts is the max number of attempts to make a transaction succeed because of resource exhaustion |
- WaitOnResourceExhaustion | No | string | No | - | Duration |
- ForkUpgradeBatchNumber | No | integer | No | - | Batch number from which there is a forkid change (fork upgrade) |
- ForkUpgradeNewForkId | No | integer | No | - | New fork id to be used for batches greaters than ForkUpgradeBatchNumber (fork upgrade) |
- DB | No | object | No | - | DB is the database configuration |
- Batch | No | object | No | - | Configuration for the batch constraints |
- MaxLogsCount | No | integer | No | - | MaxLogsCount is a configuration to set the max number of logs that can be returned in a single call to the state, if zero it means no limit |
- MaxLogsBlockRange | No | integer | No | - | MaxLogsBlockRange is a configuration to set the max range for block number when querying TXs logs in a single call to the state, if zero it means no limit |
- MaxNativeBlockHashBlockRange | No | integer | No | - | MaxNativeBlockHashBlockRange is a configuration to set the max range for block number when querying native block hashes in a single call to the state, if zero it means no limit |
Type: : integer
Default: 0
Description: MaxCumulativeGasUsed is the max gas allowed per batch
Example setting the default value (0):
[State]
MaxCumulativeGasUsed=0
Type: : integer
Default: 0
Description: ChainID is the L2 ChainID provided by the Network Config
Example setting the default value (0):
[State]
ChainID=0
Type: : array of object
Description: ForkIdIntervals is the list of fork id intervals
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
Each item of this array must be | Description |
---|---|
ForkIDIntervals items | ForkIDInterval is a fork id interval |
Type: : object
Description: ForkIDInterval is a fork id interval
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- FromBatchNumber | No | integer | No | - | - |
- ToBatchNumber | No | integer | No | - | - |
- ForkId | No | integer | No | - | - |
- Version | No | string | No | - | - |
- BlockNumber | No | integer | No | - | - |
Type: : integer
Type: : integer
Type: : integer
Type: : string
Type: : integer
Type: : integer
Default: 0
Description: MaxResourceExhaustedAttempts is the max number of attempts to make a transaction succeed because of resource exhaustion
Example setting the default value (0):
[State]
MaxResourceExhaustedAttempts=0
Title: Duration
Type: : string
Default: "0s"
Description: WaitOnResourceExhaustion is the time to wait before retrying a transaction because of resource exhaustion
Examples:
"1m"
"300ms"
Example setting the default value ("0s"):
[State]
WaitOnResourceExhaustion="0s"
Type: : integer
Default: 0
Description: Batch number from which there is a forkid change (fork upgrade)
Example setting the default value (0):
[State]
ForkUpgradeBatchNumber=0
Type: : integer
Default: 0
Description: New fork id to be used for batches greaters than ForkUpgradeBatchNumber (fork upgrade)
Example setting the default value (0):
[State]
ForkUpgradeNewForkId=0
Type: : object
Description: DB is the database configuration
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Name | No | string | No | - | Database name |
- User | No | string | No | - | Database User name |
- Password | No | string | No | - | Database Password of the user |
- Host | No | string | No | - | Host address of database |
- Port | No | string | No | - | Port Number of database |
- EnableLog | No | boolean | No | - | EnableLog |
- MaxConns | No | integer | No | - | MaxConns is the maximum number of connections in the pool. |
Type: : string
Default: "state_db"
Description: Database name
Example setting the default value ("state_db"):
[State.DB]
Name="state_db"
Type: : string
Default: "state_user"
Description: Database User name
Example setting the default value ("state_user"):
[State.DB]
User="state_user"
Type: : string
Default: "state_password"
Description: Database Password of the user
Example setting the default value ("state_password"):
[State.DB]
Password="state_password"
Type: : string
Default: "zkevm-state-db"
Description: Host address of database
Example setting the default value ("zkevm-state-db"):
[State.DB]
Host="zkevm-state-db"
Type: : string
Default: "5432"
Description: Port Number of database
Example setting the default value ("5432"):
[State.DB]
Port="5432"
Type: : boolean
Default: false
Description: EnableLog
Example setting the default value (false):
[State.DB]
EnableLog=false
Type: : integer
Default: 200
Description: MaxConns is the maximum number of connections in the pool.
Example setting the default value (200):
[State.DB]
MaxConns=200
Type: : object
Description: Configuration for the batch constraints
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- Constraints | No | object | No | - | - |
Type: : object
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- MaxTxsPerBatch | No | integer | No | - | - |
- MaxBatchBytesSize | No | integer | No | - | - |
- MaxCumulativeGasUsed | No | integer | No | - | - |
- MaxKeccakHashes | No | integer | No | - | - |
- MaxPoseidonHashes | No | integer | No | - | - |
- MaxPoseidonPaddings | No | integer | No | - | - |
- MaxMemAligns | No | integer | No | - | - |
- MaxArithmetics | No | integer | No | - | - |
- MaxBinaries | No | integer | No | - | - |
- MaxSteps | No | integer | No | - | - |
Type: : integer
Default: 300
Example setting the default value (300):
[State.Batch.Constraints]
MaxTxsPerBatch=300
Type: : integer
Default: 120000
Example setting the default value (120000):
[State.Batch.Constraints]
MaxBatchBytesSize=120000
Type: : integer
Default: 30000000
Example setting the default value (30000000):
[State.Batch.Constraints]
MaxCumulativeGasUsed=30000000
Type: : integer
Default: 2145
Example setting the default value (2145):
[State.Batch.Constraints]
MaxKeccakHashes=2145
Type: : integer
Default: 252357
Example setting the default value (252357):
[State.Batch.Constraints]
MaxPoseidonHashes=252357
Type: : integer
Default: 135191
Example setting the default value (135191):
[State.Batch.Constraints]
MaxPoseidonPaddings=135191
Type: : integer
Default: 236585
Example setting the default value (236585):
[State.Batch.Constraints]
MaxMemAligns=236585
Type: : integer
Default: 236585
Example setting the default value (236585):
[State.Batch.Constraints]
MaxArithmetics=236585
Type: : integer
Default: 473170
Example setting the default value (473170):
[State.Batch.Constraints]
MaxBinaries=473170
Type: : integer
Default: 7570538
Example setting the default value (7570538):
[State.Batch.Constraints]
MaxSteps=7570538
Type: : integer
Default: 0
Description: MaxLogsCount is a configuration to set the max number of logs that can be returned in a single call to the state, if zero it means no limit
Example setting the default value (0):
[State]
MaxLogsCount=0
Type: : integer
Default: 0
Description: MaxLogsBlockRange is a configuration to set the max range for block number when querying TXs logs in a single call to the state, if zero it means no limit
Example setting the default value (0):
[State]
MaxLogsBlockRange=0
Type: : integer
Default: 0
Description: MaxNativeBlockHashBlockRange is a configuration to set the max range for block number when querying native block hashes in a single call to the state, if zero it means no limit
Example setting the default value (0):
[State]
MaxNativeBlockHashBlockRange=0
Generated using json-schema-for-humans