Deployment Parameters

Constructor Parameters

Here we will describe the Fuel contract's constructor parameters.

field name description
operator address; The primary operator of the Fuel rollup. This account receives priority access on including roots in blocks production, however, anyone else may use roots with a delay specified by the submissionDelay parameter.
finalizationDelay uint256; The time to finalization in Ethereum blocks.
submissionDelay uint256; The number of Ethereum blocks a non-operator must wait before using a root in a block.
penaltyDelay uint256; The delay which the operator will face if they commit Fraud, until the time they may come back online as the primary operator.
bondSize uint256; The bond size required for block production, in wei.
name string; The name string used for contract identification and EIP-712 hashing.
version string; The version of the contract used for identification and EIP-712 hashing.
chainId uint256; The Ethereum network chain identifier used for identification, replay attack protection, and EIP-712 hashing.
genesis bytes32; The registered genesis block hash. This property is simply for vanity and can be set to any value as the minimum referenced block is always > 0.

Deploying in Operated Mode

If you would like to deploy a Fuel chain in operated mode, use non-zero values for operator and submissionDelay.

Deploying in Un-operated Mode

If you would like to deploy Fuel in un-operated mode, where anyone may submit blocks at any time, use zero values for operator and submissionDelay.

Finalization Delays

In any optimistic rollup, finalization delay is a critical security parameter. A longer value provides more robustness against miner censorship attacks, but will result in longer withdrawals.

We recommend 1 week at the minimum, or 2 weeks on the higher end, to protect against both chain congestion attacks and censorship attacks.

Mainnet

Contract address: 0x6880f6Fd960D1581C2730a451A22EED1081cfD72

Name: mainnents

field name value
operator 0xfa990ea3cc8f1ec066986477edf457ffbad6e39c
finalizationDelay 186092 (two weeks)
submissionDelay 33230 (five days)
penaltyDelay 16615 (half day)
bondSize 500000000000000000 (0.5 ETH)
name Fuel
version 1.1.0
chainId 1
genesis 0x9299da6c73e6dc03eeabcce242bb347de3f5f56cd1c70926d76526d7ed199b8b (special hash of Fuel contributors)

Rinkeby Testnet

Contract address: 0xb171b7202A833D97A3D69412AA365DE4AB6e4545

Name: rinkeby

field name value
operator 0xc97aaaDd5Adb5924c7eBC96267C2B599f1C38aB4
finalizationDelay 186092 (two weeks)
submissionDelay 33230 (five days)
penaltyDelay 0 (zero)
bondSize 100000000000000000 (0.1 ETH)
name Fuel
version 1.1.0
chainId 4
genesis 0x9299da6c73e6dc03eeabcce242bb347de3f5f56cd1c70926d76526d7ed199b8b (special hash of Fuel contributors)

Verifying Mainnet Contracts

git clone https://github.com/FuelLabs/fuel
cd client
npm install
npm run verify-mainnet