Skip to main content

Orbit SDK parameters reference guide

This page references every parameter used to configure your Orbit chain.

Before diving into individual parameters, here is an example representing all the parameters. The outlined parameters are important ones.

{
"confirmPeriodBlocks": "150",
"extraChallengeTimeBlocks": "0",
"stakeToken": "0x0000000000000000000000000000000000000000",
"baseStake": "100000000000000000",
"wasmModuleRoot": "0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4",
"loserStakeEscrow": "0x0000000000000000000000000000000000000000",
"genesisBlockNum": "0",
"sequencerInboxMaxTimeVariation": {
"delayBlocks": "5760",
"futureBlocks": "48",
"delaySeconds": "86400",
"futureSeconds": "3600"
},
"chainId": "97400766948",
"owner": "0x8BdF2e6822631664433e47a5aa8D6cF4addAc1f0",
"chainConfig": {
"homesteadBlock": 0,
"daoForkBlock": null,
"daoForkSupport": true,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"muirGlacierBlock": 0,
"berlinBlock": 0,
"londonBlock": 0,
"clique": {
"period": 0,
"epoch": 0
},
"arbitrum": {
"EnableArbOS": true,
"AllowDebugPrecompiles": false,
"DataAvailabilityCommittee": true,
"InitialArbOSVersion": 20,
"GenesisBlockNum": 0,
"MaxCodeSize": 24576,
"MaxInitCodeSize": 49152,
"InitialChainOwner": "0x8BdF2e6822631664433e47a5aa8D6cF4addAc1f0"
}
}
}

You can inspect our code source for all these parameters default values.

Key Parameters Explanation

DataAvailabilityCommittee

  • Type: boolean
  • Description: This parameter determines whether the Orbit chain functions as a Rollup or an AnyTrust chain. If true, the chain relies on a Data Availability Committee (DAC) to ensure data availability, classifying it as an AnyTrust chain. If false, it utilizes the standard L2 Rollup architecture, depending on its parent chain for data availability.

chainId

  • Type: uint64
  • Description: A unique identifier for the blockchain. This value ensures network uniqueness to prevent replay attacks across different networks.

InitialChainOwner

  • Type: Address
  • Description: Sets the initial owner of the chain, who has administrative control over the chain's parameters.

MaxCodeSize

  • Type: uint32
  • Description: Defines the maximum allowed size for contract code on the chain, e.g., Ethereum mainnet has a limit of 24,576 Bytes.

MaxInitCodeSize

  • Type: uint32
  • Description: Similar to MaxCodeSize, defines the maximum size for your Orbit chain's initialization code. e.g., Ethereum mainnet limit is 49,152 Bytes.

Additional Parameters to consider

NameTypeOptionalDescription
confirmPeriodBlocksuint64NoNumber of blocks required to confirm transactions.
extraChallengeTimeBlocksuint64NoAdditional time in blocks for challenge periods. Defaults to 0 if unnecessary.
stakeTokenAddressNoAddress of the token used for staking.
baseStakeuint256NoMinimum stake required to participate in the network.
wasmModuleRootHashNoRoot of the WebAssembly module used for execution.
loserStakeEscrowAddressNoAddress where the losing stakes will be escrowed.
genesisBlockNumuint64NoNumber assigned to the genesis block.
sequencerInboxMaxTimeVariationobjectNoMaximum time variations for the sequencer's inbox, with nested parameters for delayBlocks, futureBlocks, delaySeconds, and futureSeconds.

chainConfig Parameters

NameTypeOptionalDescription
homesteadBlockuint64NoBlock at which the Homestead EIP was activated.
daoForkBlockuint64YesBlock number for the DAO hard fork. Set to null if unsupported.
daoForkSupportbooleanNoIndicates whether the chain supports the DAO fork.
eip150Blockuint64NoBlock number at which EIP-150 was activated.
eip150HashHashYesHash used in EIP-150.
eip155Blockuint64NoBlock number at which EIP-155 was activated.
eip158Blockuint64NoBlock number at which EIP-158 was activated.
byzantiumBlockuint64NoBlock number at which Byzantium fork was activated.
constantinopleBlockuint64NoBlock number at which Constantinople fork was activated.
petersburgBlockuint64NoBlock number at which Petersburg fork was activated.
istanbulBlockuint64NoBlock number at which Istanbul fork was activated.
muirGlacierBlockuint64NoBlock number at which Muir Glacier fork was activated.
berlinBlockuint64NoBlock number at which Berlin fork was activated.
londonBlockuint64NoBlock number at which London fork was activated.
cliqueobjectNoDefines Clique parameters like period and epoch.

arbitrum Parameters

NameTypeOptionalDescription
EnableArbOSbooleanNoSpecifies if ArbOS should be enabled.
AllowDebugPrecompilesbooleanYesIndicates if debug precompiles are allowed.
DataAvailabilityCommitteebooleanNoDetermines whether the Orbit chain functions as a Rollup or an AnyTrust chain based on data availability requirements.
InitialArbOSVersionuint32NoVersion of ArbOS at genesis.
GenesisBlockNumuint64NoBlock number assigned to the genesis block.
MaxCodeSizeuint32NoMaximum allowed size for contract code on the chain.
MaxInitCodeSizeuint32NoMaximum allowed size for the initial code used to deploy a contract.
InitialChainOwnerAddressNoInitial owner of the chain with administrative control over the parameters.