package
1.15.2
Repository: https://github.com/ethereum/go-ethereum.git
Documentation: pkg.go.dev

# Packages

# Functions

ClearVerkleWitnessCosts sets all witness costs to 0, which is necessary for historical block replay simulations.
DAODrainList is the list of accounts whose full balances will be moved into a refund contract at the beginning of the dao-fork block.
KnownDNSNetwork returns the address of a public DNS-based node list for the given genesis hash and protocol.

# Constants

The cost of a BALANCE operation after Tangerine.
The cost of a BALANCE operation after EIP 1884 (part of Istanbul).
The cost of a BALANCE operation.
Gas consumption of a single data blob (== blob byte size).
Size in bytes of a field element.
Number of field elements stored in a single data blob.
Minimum gas price for data blobs.
Gas price for the point evaluation precompile.
BloomBitsBlocks is the number of blocks a single bloom bit section vector contains on the server side.
BloomConfirms is the number of confirmation blocks before a bloom section is considered probably final and its rotated bits are calculated.
Price for BLS12-381 elliptic curve G1 point addition.
Price for BLS12-381 elliptic curve G1 point scalar multiplication.
Price for BLS12-381 elliptic curve G2 point addition.
Price for BLS12-381 elliptic curve G2 point scalar multiplication.
Gas price for BLS12-381 mapping field element to G1 operation.
Gas price for BLS12-381 mapping field element to G2 operation.
Base gas price for BLS12-381 elliptic curve pairing check.
Per-point pair gas price for BLS12-381 elliptic curve pairing check.
Byzantium gas needed for an elliptic curve addition.
Gas needed for an elliptic curve addition.
Byzantium base price for an elliptic curve pairing check.
Base price for an elliptic curve pairing check.
Byzantium per-point price for an elliptic curve pairing check.
Per-point price for an elliptic curve pairing check.
Byzantium gas needed for an elliptic curve scalar multiplication.
Gas needed for an elliptic curve scalar multiplication.
Maximum depth of call/create stack.
Static portion of gas for CALL-derivates after EIP 150 (Tangerine).
Once per CALL operation & message call transaction.
Paid for CALL when the destination address didn't exist prior.
Free gas given at beginning of call.
Paid for CALL when the value transfer is non-zero.
COLD_ACCOUNT_ACCESS_COST.
COLD_SLOAD_COST.
.
Once per CREATE2 operation.
CreateBySelfdestructGas is used when the refunded account is one that does not exist.
.
Once per CREATE operation & contract-creation transaction.
Once per CREATEn operations post-verkle.
Bounds the amount the base fee can change between blocks.
Bounds the maximum gas limit an EIP-1559 block may have.
Elliptic curve sender recovery gas price.
Duration between proof-of-work epochs.
These are the multipliers for ether denominations.
was raised to 50 during Eip158 (Spurious Dragon).
was set to 10 in Frontier.
Times ceil(log256(exponent)) for the EXP instruction.
Once per EXP instruction.
Extcodecopy has a dynamic AND a static cost.
Cost of EXTCODEHASH (introduced in Constantinople).
Cost of EXTCODEHASH after EIP 1884 (part in Istanbul).
Cost of EXTCODESIZE after EIP 150 (Tangerine).
Cost of EXTCODESIZE before EIP 150 (Tangerine).
FullImmutabilityThreshold is the number of blocks after which a chain segment is considered immutable (i.e.
The bound divisor of the gas limit, used in update calculations.
Gas limit of the Genesis block.
These are the multipliers for ether denominations.
Number of blocks to serve historical block hashes for, EIP-2935.
Base price for a data copy operation.
Per-work price for a data copy operation.
Once per word of the init code when creating a contract.
Initial base fee for EIP-1559 blocks.
Once per JUMPDEST operation.
Once per KECCAK256 operation.
Once per word of the KECCAK256 operation's data.
Per byte in a LOG* operation's data.
Per LOG* operation.
Multiplied by the * of the LOG*, per LOG transaction.
Maximum bytecode to permit for a contract.
Maximum the gas limit (2^63-1).
Maximum size extra data may be after Genesis.
Maximum initcode to permit in a creation transaction and create instructions.
Times the address of the (highest referenced byte in memory + 1).
Minimum the gas limit may ever be.
Once per SSTORE operation from clean non-zero.
Once per SSTORE operation for clearing an originally existing storage slot.
Once per SSTORE operation from dirty.
Once per SSTORE operation from clean zero.
Once per SSTORE operation if the value doesn't change.
Once per SSTORE operation for resetting to the original zero value.
Once per SSTORE operation for resetting to the original non-zero value.
Divisor for the quadratic particle of the memory cost equation.
The Refund Quotient is the cap on how much of the used gas can be refunded.
Base price for a RIPEMD160 operation.
Per-word price for a RIPEMD160 operation.
Cost of SELFDESTRUCT post EIP 150 (Tangerine).
Refunded following a selfdestruct operation.
Base price for a SHA256 operation.
Per-word price for a SHA256 operation.
Multiplied by the number of 32-byte words that are copied (round up) for any *COPY operation and added.
Cost of SLOAD after EIP 1884 (part of Istanbul).
Cost of SLOAD after EIP 2200 (part of Istanbul).
Once per SSTORE operation if the zeroness doesn't change.
Once per SSTORE operation for clearing an originally existing storage slot.
In EIP-2200: SstoreResetGas was 5000.
Once per SSTORE operation if the zeroness changes to zero.
Once per SSTORE operation if the zeroness changes from zero.
Once per SSTORE operation from clean non-zero to something else.
Minimum gas required to be present for an SSTORE call, not consumed.
Once per SSTORE operation.
Once per SSTORE operation from clean zero to non-zero.
Maximum size of VM stack allowed.
Once per operation, for a selection of them.
Per address specified in EIP 2930 access list.
Per storage key specified in EIP 2930 access list.
Per auth tuple code specified in EIP-7702.
Cost floor per byte of data as specified by EIP-7623.
Per byte of non zero data attached to a transaction after EIP 2028 (part in Istanbul).
Per byte of data attached to a transaction that is not equal to zero.
Per byte of data attached to a transaction that equals zero.
Per transaction not creating a contract.
Per transaction that creates a contract.
Token cost per non-zero byte as specified by EIP-7623.
WARM_STORAGE_READ_COST.
These are the multipliers for ether denominations.

# Variables

AllCliqueProtocolChanges contains every protocol change (EIPs) introduced and accepted by the Ethereum core developers into the Clique consensus.
AllEthashProtocolChanges contains every protocol change (EIPs) introduced and accepted by the Ethereum core developers into the Ethash consensus.
EIP-4788 - Beacon block root in the EVM.
System contracts.
Bls12381G1MultiExpDiscountTable is the gas discount table for BLS12-381 G1 multi exponentiation operation.
Bls12381G2MultiExpDiscountTable is the gas discount table for BLS12-381 G2 multi exponentiation operation.
EIP-7251 - Increase the MAX_EFFECTIVE_BALANCE.
System contracts.
DAOForkBlockExtra is the block header extra-data field to set for the DAO fork point and a number of consecutive blocks to allow fast/light syncers to correctly pick the side they want ("dao-hard-fork").
DAOForkExtraRange is the number of consecutive blocks from the DAO fork point to override the extra-data in to prevent no-fork attacks.
DAORefundContract is the address of the refund contract to send DAO balances to.
DefaultBlobSchedule is the latest configured blob schedule for test chains.
DefaultCancunBlobConfig is the default blob configuration for the Cancun fork.
DefaultPragueBlobConfig is the default blob configuration for the Prague fork.
The bound divisor of the difficulty, used in the update calculations.
The decision boundary on the blocktime duration used to determine whether difficulty should go up or not.
Difficulty of the Genesis block.
EIP-2935 - Serve historical block hashes from state.
System contracts.
HoleskyBootnodes are the enode URLs of the P2P bootstrap nodes running on the Holesky test network.
HoleskyChainConfig contains the chain parameters to run a node on the Holesky test network.
Genesis hashes to enforce below configs on.
MainnetBootnodes are the enode URLs of the P2P bootstrap nodes running on the main Ethereum network.
MainnetChainConfig is the chain parameters to run a node on the main network.
Genesis hashes to enforce below configs on.
MergedTestChainConfig contains every protocol change (EIPs) introduced and accepted by the Ethereum core developers for testing purposes.
The minimum that the difficulty may ever be.
NetworkNames are user friendly names to use in the chain spec banner.
NonActivatedConfig defines the chain configuration without activating any protocol change (EIPs).
SepoliaBootnodes are the enode URLs of the P2P bootstrap nodes running on the Sepolia test network.
SepoliaChainConfig contains the chain parameters to run a node on the Sepolia test network.
Genesis hashes to enforce below configs on.
SystemAddress is where the system-transaction is sent from as per EIP-4788.
TestChainConfig contains every protocol change (EIPs) introduced and accepted by the Ethereum core developers for testing purposes.
EIP-7002 - Execution layer triggerable withdrawals.
System contracts.
Verkle tree EIP: costs associated to witness accesses.
Verkle tree EIP: costs associated to witness accesses.
Verkle tree EIP: costs associated to witness accesses.
Verkle tree EIP: costs associated to witness accesses.
Verkle tree EIP: costs associated to witness accesses.

# Structs

BlobConfig specifies the target and max blobs per block for the associated fork.
BlobScheduleConfig determines target and max number of blobs allow per fork.
ChainConfig is the core config which determines the blockchain settings.
CliqueConfig is the consensus engine configs for proof-of-authority based sealing.
ConfigCompatError is raised if the locally-stored blockchain is initialised with a ChainConfig that would alter the past.
EthashConfig is the consensus engine configs for proof-of-work based sealing.
Rules wraps ChainConfig and is merely syntactic sugar or can be used for functions that do not have or require information about the block.