BuilderOpts
Options for the block builder.
Extends
Properties
calcDifficultyFromHeader?
optional
calcDifficultyFromHeader:BlockHeader
If a preceding BlockHeader (usually the parent header) is given the preceding
header will be used to calculate the difficulty for this block and the calculated
difficulty takes precedence over a provided static difficulty
value.
Note that this option has no effect on networks other than PoW/Ethash networks (respectively also deactivates on the Merge HF switching to PoS/Casper).
Inherited from
BlockOptions
.calcDifficultyFromHeader
Defined in
packages/block/types/types.d.ts:42
cliqueSigner?
optional
cliqueSigner:Uint8Array
Provide a clique signer’s privateKey to seal this block. Will throw if provided on a non-PoA chain.
Inherited from
Defined in
packages/block/types/types.d.ts:59
common
common:
object
A Common object defining the chain and the hardfork a block/block header belongs to.
Object will be internally copied so that tx behavior don’t incidentally change on future HF changes.
Default: Common object set to mainnet
and the HF currently defined as the default
hardfork in the Common class.
Current default hardfork: merge
blockExplorers?
optional
blockExplorers:object
Collection of block explorers
Index Signature
[key
: string
]: ChainBlockExplorer
blockExplorers.default
blockExplorers.default:
ChainBlockExplorer
contracts?
optional
contracts:object
Collection of contracts
contracts.ensRegistry?
optional
contracts.ensRegistry:ChainContract
contracts.ensUniversalResolver?
optional
contracts.ensUniversalResolver:ChainContract
contracts.multicall3?
optional
contracts.multicall3:ChainContract
copy()
copy: () => { blockExplorers?: { [key: string]: ChainBlockExplorer; default: ChainBlockExplorer; } | undefined; contracts?: { [x: string]: ChainContract | { …; } | undefined; ensRegistry?: ChainContract | undefined; ensUniversalResolver?: ChainContract | undefined; multicall3?: ChainContract | undefined; } | undefined; … 11…
Returns
{ blockExplorers?: { [key: string]: ChainBlockExplorer; default: ChainBlockExplorer; } | undefined; contracts?: { [x: string]: ChainContract | { …; } | undefined; ensRegistry?: ChainContract | undefined; ensUniversalResolver?: ChainContract | undefined; multicall3?: ChainContract | undefined; } | undefined; … 11…
custom?
optional
custom:Record
<string
,unknown
>
Custom chain data.
ethjsCommon
ethjsCommon:
Common
fees?
optional
fees:ChainFees
<undefined
|ChainFormatters
>
Modifies how fees are derived.
formatters?
optional
formatters:ChainFormatters
Modifies how data is formatted and typed (e.g. blocks and transactions)
id
id:
number
ID in number form
name
name:
string
Human-readable name
nativeCurrency
nativeCurrency:
ChainNativeCurrency
Currency used by chain
rpcUrls
rpcUrls:
object
Collection of RPC endpoints
Index Signature
[key
: string
]: ChainRpcUrls
rpcUrls.default
rpcUrls.default:
ChainRpcUrls
serializers?
optional
serializers:ChainSerializers
<undefined
|ChainFormatters
,TransactionSerializable
>
Modifies how data is serialized (e.g. transactions).
sourceId?
optional
sourceId:number
Source Chain ID (ie. the L1 chain)
testnet?
optional
testnet:boolean
Flag for test networks
Inherited from
Defined in
packages/block/types/types.d.ts:23
executionWitness?
optional
executionWitness:VerkleExecutionWitness
Inherited from
Defined in
packages/block/types/types.d.ts:64
freeze?
optional
freeze:boolean
A block object by default gets frozen along initialization. This gives you
strong additional security guarantees on the consistency of the block parameters.
It also enables block hash caching when the hash()
method is called multiple times.
If you need to deactivate the block freeze - e.g. because you want to subclass block and add additional properties - it is strongly encouraged that you do the freeze yourself within your code instead.
Default: true
Inherited from
Defined in
packages/block/types/types.d.ts:54
putBlockIntoBlockchain?
optional
putBlockIntoBlockchain:boolean
Whether to put the block into the vm’s blockchain after building it. This is useful for completing a full cycle when building a block so the only next step is to build again, however it may not be desired if the block is being emulated or may be discarded as to not affect the underlying blockchain.
Default: true
Defined in
packages/vm/src/utils/BuilderOpts.ts:16
setHardfork?
optional
setHardfork:boolean
|BigIntLike
Set the hardfork either by timestamp (for HFs from Shanghai onwards) or by block number for older Hfs.
Additionally it is possible to pass in a specific TD value to support live-Merge-HF transitions. Note that this should only be needed in very rare and specific scenarios.
Default: false
(HF is set to whatever default HF is set by the Common instance)
Inherited from
Defined in
packages/block/types/types.d.ts:33
skipConsensusFormatValidation?
optional
skipConsensusFormatValidation:boolean
Skip consensus format validation checks on header if set. Defaults to false.
Inherited from
BlockOptions
.skipConsensusFormatValidation
Defined in
packages/block/types/types.d.ts:63