Documentation
¶
Overview ¶
Package eth implements the Ethereum protocol.
Index ¶
- Constants
- Variables
- func ReadBloomBits(db ethdb.KeyValueReader, bit uint, section uint64, head common.Hash) ([]byte, error)
- type AdminAPI
- type Config
- type DebugAPI
- func (api *DebugAPI) AccountRange(blockNrOrHash rpc.BlockNumberOrHash, start hexutil.Bytes, maxResults int, ...) (state.Dump, error)
- func (api *DebugAPI) DumpBlock(blockNr rpc.BlockNumber) (state.Dump, error)
- func (api *DebugAPI) GetAccessibleState(from, to rpc.BlockNumber) (uint64, error)
- func (api *DebugAPI) GetBadBlocks(ctx context.Context) ([]*ethapi.BadBlockArgs, error)
- func (api *DebugAPI) GetModifiedAccountsByHash(startHash common.Hash, endHash *common.Hash) ([]common.Address, error)
- func (api *DebugAPI) GetModifiedAccountsByNumber(startNum uint64, endNum *uint64) ([]common.Address, error)
- func (api *DebugAPI) Preimage(ctx context.Context, hash common.Hash) (hexutil.Bytes, error)
- func (api *DebugAPI) StorageRangeAt(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash, txIndex int, ...) (StorageRangeResult, error)
- type DevAPI
- func (api *DevAPI) AutoImpersonate(ctx context.Context, enabled bool) error
- func (api *DevAPI) DumpState(ctx context.Context) (state.Dump, error)
- func (api *DevAPI) ImpersonateAccount(ctx context.Context, address common.Address) error
- func (api *DevAPI) IncreaseTime(ctx context.Context, seconds hexutil.Uint64) (hexutil.Uint64, error)
- func (api *DevAPI) Mine(ctx context.Context, blocks *hexutil.Uint64, interval *hexutil.Uint64) (common.Hash, error)
- func (api *DevAPI) Revert(ctx context.Context, snapID hexutil.Uint64) (bool, error)
- func (api *DevAPI) SetBalance(ctx context.Context, address common.Address, balance hexutil.Big) error
- func (api *DevAPI) SetCode(ctx context.Context, address common.Address, code hexutil.Bytes) error
- func (api *DevAPI) SetNextBlockTimestamp(ctx context.Context, timestamp hexutil.Uint64) error
- func (api *DevAPI) SetNonce(ctx context.Context, address common.Address, nonce hexutil.Uint64) error
- func (api *DevAPI) SetStorageAt(ctx context.Context, address common.Address, slot common.Hash, ...) error
- func (api *DevAPI) Snapshot(ctx context.Context) hexutil.Uint64
- func (api *DevAPI) StopImpersonatingAccount(ctx context.Context, address common.Address) error
- type EthAPIBackend
- func (b *EthAPIBackend) AccountManager() *accounts.Manager
- func (b *EthAPIBackend) BadBlocks() ([]*types.Block, []*core.BadBlockReason)
- func (b *EthAPIBackend) BlockByHash(ctx context.Context, hash common.Hash) (*types.Block, error)
- func (b *EthAPIBackend) BlockByNumber(ctx context.Context, number rpc.BlockNumber) (*types.Block, error)
- func (b *EthAPIBackend) BlockByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*types.Block, error)
- func (b *EthAPIBackend) BloomStatus() (uint64, uint64)
- func (b *EthAPIBackend) ChainConfig() *params.ChainConfig
- func (b *EthAPIBackend) ChainDb() ethdb.Database
- func (b *EthAPIBackend) CurrentBlock() *types.Header
- func (b *EthAPIBackend) CurrentHeader() *types.Header
- func (b *EthAPIBackend) Engine() consensus.Engine
- func (b *EthAPIBackend) EstimateBaseFee(ctx context.Context) (*big.Int, error)
- func (b *EthAPIBackend) EventMux() *event.TypeMux
- func (b *EthAPIBackend) ExtRPCEnabled() bool
- func (b *EthAPIBackend) FeeHistory(ctx context.Context, blockCount uint64, lastBlock rpc.BlockNumber, ...) (firstBlock *big.Int, reward [][]*big.Int, baseFee []*big.Int, ...)
- func (b *EthAPIBackend) GetBody(ctx context.Context, hash common.Hash, number rpc.BlockNumber) (*types.Body, error)
- func (b *EthAPIBackend) GetEVM(ctx context.Context, msg *core.Message, state *state.StateDB, ...) *vm.EVM
- func (b *EthAPIBackend) GetLogs(ctx context.Context, hash common.Hash, number uint64) ([][]*types.Log, error)
- func (b *EthAPIBackend) GetMaxBlocksPerRequest() int64
- func (b *EthAPIBackend) GetPoolNonce(ctx context.Context, addr common.Address) (uint64, error)
- func (b *EthAPIBackend) GetPoolTransaction(hash common.Hash) *types.Transaction
- func (b *EthAPIBackend) GetPoolTransactions() (types.Transactions, error)
- func (b *EthAPIBackend) GetReceipts(ctx context.Context, hash common.Hash) (types.Receipts, error)
- func (b *EthAPIBackend) GetTransaction(ctx context.Context, txHash common.Hash) (bool, *types.Transaction, common.Hash, uint64, uint64, error)
- func (b *EthAPIBackend) HeaderByHash(ctx context.Context, hash common.Hash) (*types.Header, error)
- func (b *EthAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*types.Header, error)
- func (b *EthAPIBackend) HeaderByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*types.Header, error)
- func (b *EthAPIBackend) HistoricalProofQueryWindow() uint64
- func (b *EthAPIBackend) InsecureUnlockAllowed() bool
- func (b *EthAPIBackend) IsAllowUnfinalizedQueries() bool
- func (b *EthAPIBackend) IsArchive() bool
- func (b *EthAPIBackend) LastAcceptedBlock() *types.Block
- func (b *EthAPIBackend) MinRequiredTip(ctx context.Context, header *types.Header) (*big.Int, error)
- func (b *EthAPIBackend) PriceOptionsConfig() ethapi.PriceOptionConfig
- func (b *EthAPIBackend) RPCEVMTimeout() time.Duration
- func (b *EthAPIBackend) RPCGasCap() uint64
- func (b *EthAPIBackend) RPCTxFeeCap() float64
- func (b *EthAPIBackend) SendTx(ctx context.Context, signedTx *types.Transaction) error
- func (b *EthAPIBackend) ServiceFilter(ctx context.Context, session *bloombits.MatcherSession)
- func (b *EthAPIBackend) SetAllowUnfinalizedQueries(allow bool)
- func (b *EthAPIBackend) StateAndHeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*state.StateDB, *types.Header, error)
- func (b *EthAPIBackend) StateAndHeaderByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*state.StateDB, *types.Header, error)
- func (b *EthAPIBackend) StateAtBlock(ctx context.Context, block *types.Block, reexec uint64, base *state.StateDB, ...) (*state.StateDB, tracers.StateReleaseFunc, error)
- func (b *EthAPIBackend) StateAtNextBlock(ctx context.Context, parent, nextBlock *types.Block, reexec uint64, ...) (*state.StateDB, tracers.StateReleaseFunc, error)
- func (b *EthAPIBackend) StateAtTransaction(ctx context.Context, block *types.Block, txIndex int, reexec uint64) (*core.Message, vm.BlockContext, *state.StateDB, tracers.StateReleaseFunc, ...)
- func (b *EthAPIBackend) Stats() (runnable int, blocked int)
- func (b *EthAPIBackend) SubscribeAcceptedLogsEvent(ch chan<- []*types.Log) event.Subscription
- func (b *EthAPIBackend) SubscribeAcceptedTransactionEvent(ch chan<- core.NewTxsEvent) event.Subscription
- func (b *EthAPIBackend) SubscribeChainAcceptedEvent(ch chan<- core.ChainEvent) event.Subscription
- func (b *EthAPIBackend) SubscribeChainEvent(ch chan<- core.ChainEvent) event.Subscription
- func (b *EthAPIBackend) SubscribeChainHeadEvent(ch chan<- core.ChainHeadEvent) event.Subscription
- func (b *EthAPIBackend) SubscribeChainSideEvent(ch chan<- core.ChainSideEvent) event.Subscription
- func (b *EthAPIBackend) SubscribeLogsEvent(ch chan<- []*types.Log) event.Subscription
- func (b *EthAPIBackend) SubscribeNewTxsEvent(ch chan<- core.NewTxsEvent) event.Subscription
- func (b *EthAPIBackend) SubscribePendingLogsEvent(ch chan<- []*types.Log) event.Subscription
- func (b *EthAPIBackend) SubscribeRemovedLogsEvent(ch chan<- core.RemovedLogsEvent) event.Subscription
- func (b *EthAPIBackend) SuggestGasTipCap(ctx context.Context) (*big.Int, error)
- func (b *EthAPIBackend) SuggestPrice(ctx context.Context) (*big.Int, error)
- func (b *EthAPIBackend) TxPoolContent() (map[common.Address][]*types.Transaction, ...)
- func (b *EthAPIBackend) TxPoolContentFrom(addr common.Address) ([]*types.Transaction, []*types.Transaction)
- func (b *EthAPIBackend) UnprotectedAllowed(tx *types.Transaction) bool
- type Ethereum
- func (s *Ethereum) APIs() []rpc.API
- func (s *Ethereum) AccountManager() *accounts.Manager
- func (s *Ethereum) ArchiveMode() bool
- func (s *Ethereum) BlockChain() *core.BlockChain
- func (s *Ethereum) BloomIndexer() *core.ChainIndexer
- func (s *Ethereum) CallPostImportCallback(lastBlockHash common.Hash, lastBlockHeight uint64) error
- func (s *Ethereum) ChainDb() ethdb.Database
- func (s *Ethereum) Engine() consensus.Engine
- func (s *Ethereum) Etherbase() (eb common.Address, err error)
- func (s *Ethereum) EventMux() *event.TypeMux
- func (s *Ethereum) LastAcceptedBlock() *types.Block
- func (s *Ethereum) Miner() *miner.Miner
- func (s *Ethereum) NetVersion() uint64
- func (s *Ethereum) SetEtherbase(etherbase common.Address)
- func (s *Ethereum) SetPostImportCallback(cb func(lastBlockHash common.Hash, lastBlockHeight uint64) error)
- func (s *Ethereum) Start()
- func (eth *Ethereum) StateAtNextBlock(ctx context.Context, parent *types.Block, nextBlock *types.Block, ...) (*state.StateDB, tracers.StateReleaseFunc, error)
- func (s *Ethereum) Stop() error
- func (s *Ethereum) TxPool() *txpool.TxPool
- type EthereumAPI
- type PushGossiper
- type Settings
- type StorageRangeResult
Constants ¶
const AccountRangeMaxResults = 256
AccountRangeMaxResults is the maximum number of results to be returned per call
Variables ¶
var ErrUnfinalizedData = errors.New("cannot query unfinalized data")
Functions ¶
func ReadBloomBits ¶ added in v0.15.50
func ReadBloomBits(db ethdb.KeyValueReader, bit uint, section uint64, head common.Hash) ([]byte, error)
ReadBloomBits retrieves the compressed bloom bit vector belonging to the given bit index from the given section and block hash.
Types ¶
type AdminAPI ¶ added in v0.13.7
type AdminAPI struct {
// contains filtered or unexported fields
}
AdminAPI is the collection of Ethereum full node related APIs for node administration.
func NewAdminAPI ¶ added in v0.13.7
NewAdminAPI creates a new instance of AdminAPI.
func (*AdminAPI) ExportChain ¶ added in v0.13.7
ExportChain exports the current blockchain into a local file, or a range of blocks if first and last are non-nil.
func (*AdminAPI) ImportChain ¶ added in v0.13.7
ImportChain imports a blockchain from a local file.
func (*AdminAPI) WriteGenesisStateSpec ¶ added in v0.15.62
WriteGenesisStateSpec writes the genesis state spec to the database. This is required for RLP import to work when the genesis state trie is not accessible. The genesis allocs are stored in the database, enabling block_validator.go's special handling for block 1 (which allows import even without the genesis state trie).
type Config ¶
Config contains the configuration options of the ETH protocol. Deprecated: use ethconfig.Config instead.
type DebugAPI ¶ added in v0.13.7
type DebugAPI struct {
// contains filtered or unexported fields
}
DebugAPI is the collection of Ethereum full node APIs for debugging the protocol.
func NewDebugAPI ¶ added in v0.13.7
NewDebugAPI creates a new DebugAPI instance.
func (*DebugAPI) AccountRange ¶ added in v0.13.7
func (api *DebugAPI) AccountRange(blockNrOrHash rpc.BlockNumberOrHash, start hexutil.Bytes, maxResults int, nocode, nostorage, incompletes bool) (state.Dump, error)
AccountRange enumerates all accounts in the given block and start point in paging request
func (*DebugAPI) DumpBlock ¶ added in v0.13.7
DumpBlock retrieves the entire state of the database at a given block.
func (*DebugAPI) GetAccessibleState ¶ added in v0.13.7
func (api *DebugAPI) GetAccessibleState(from, to rpc.BlockNumber) (uint64, error)
GetAccessibleState returns the first number where the node has accessible state on disk. Note this being the post-state of that block and the pre-state of the next block. The (from, to) parameters are the sequence of blocks to search, which can go either forwards or backwards
func (*DebugAPI) GetBadBlocks ¶ added in v0.13.7
GetBadBlocks returns a list of the last 'bad blocks' that the client has seen on the network and returns them as a JSON list of block hashes.
func (*DebugAPI) GetModifiedAccountsByHash ¶ added in v0.13.7
func (api *DebugAPI) GetModifiedAccountsByHash(startHash common.Hash, endHash *common.Hash) ([]common.Address, error)
GetModifiedAccountsByHash returns all accounts that have changed between the two blocks specified. A change is defined as a difference in nonce, balance, code hash, or storage hash.
With one parameter, returns the list of accounts modified in the specified block.
func (*DebugAPI) GetModifiedAccountsByNumber ¶ added in v0.13.7
func (api *DebugAPI) GetModifiedAccountsByNumber(startNum uint64, endNum *uint64) ([]common.Address, error)
GetModifiedAccountsByNumber returns all accounts that have changed between the two blocks specified. A change is defined as a difference in nonce, balance, code hash, or storage hash.
With one parameter, returns the list of accounts modified in the specified block.
func (*DebugAPI) Preimage ¶ added in v0.13.7
Preimage is a debug API function that returns the preimage for a sha3 hash, if known.
func (*DebugAPI) StorageRangeAt ¶ added in v0.13.7
func (api *DebugAPI) StorageRangeAt(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash, txIndex int, contractAddress common.Address, keyStart hexutil.Bytes, maxResult int) (StorageRangeResult, error)
StorageRangeAt returns the storage at the given block height and transaction index.
type DevAPI ¶ added in v0.15.71
type DevAPI struct {
// contains filtered or unexported fields
}
DevAPI provides Anvil/Hardhat-compatible RPC methods for dev mode. These methods allow manipulation of blockchain state for testing purposes.
func (*DevAPI) AutoImpersonate ¶ added in v0.15.71
AutoImpersonate enables or disables auto-impersonation of all accounts. Anvil: anvil_autoImpersonateAccount
func (*DevAPI) DumpState ¶ added in v0.15.71
DumpState returns a dump of the current state (for debugging).
func (*DevAPI) ImpersonateAccount ¶ added in v0.15.71
ImpersonateAccount starts impersonating an account (allows sending tx without private key). Anvil: anvil_impersonateAccount Hardhat: hardhat_impersonateAccount
func (*DevAPI) IncreaseTime ¶ added in v0.15.71
func (api *DevAPI) IncreaseTime(ctx context.Context, seconds hexutil.Uint64) (hexutil.Uint64, error)
IncreaseTime increases the block timestamp by mining a new block with adjusted time. Anvil: evm_increaseTime Hardhat: evm_increaseTime
func (*DevAPI) Mine ¶ added in v0.15.71
func (api *DevAPI) Mine(ctx context.Context, blocks *hexutil.Uint64, interval *hexutil.Uint64) (common.Hash, error)
Mine forces mining of new blocks. Anvil: evm_mine (single optional timestamp parameter) Hardhat: hardhat_mine (blocks count, optional interval) We use optional pointer parameters to handle both calling conventions.
func (*DevAPI) Revert ¶ added in v0.15.71
Revert reverts the state to a previous snapshot. Note: In coreth, revert is limited - it can only revert to the current or recent state. Full reorg capabilities are not available. Anvil: evm_revert Hardhat: evm_revert
func (*DevAPI) SetBalance ¶ added in v0.15.71
func (api *DevAPI) SetBalance(ctx context.Context, address common.Address, balance hexutil.Big) error
SetBalance sets the balance of an address. Anvil: anvil_setBalance Hardhat: hardhat_setBalance
func (*DevAPI) SetCode ¶ added in v0.15.71
SetCode sets the code of an address. Anvil: anvil_setCode Hardhat: hardhat_setCode
func (*DevAPI) SetNextBlockTimestamp ¶ added in v0.15.71
SetNextBlockTimestamp sets the timestamp for the next block by mining one. Anvil: evm_setNextBlockTimestamp Hardhat: evm_setNextBlockTimestamp
func (*DevAPI) SetNonce ¶ added in v0.15.71
func (api *DevAPI) SetNonce(ctx context.Context, address common.Address, nonce hexutil.Uint64) error
SetNonce sets the nonce of an address. Anvil: anvil_setNonce Hardhat: hardhat_setNonce
func (*DevAPI) SetStorageAt ¶ added in v0.15.71
func (api *DevAPI) SetStorageAt(ctx context.Context, address common.Address, slot common.Hash, value common.Hash) error
SetStorageAt sets a storage slot value for an address. Anvil: anvil_setStorageAt Hardhat: hardhat_setStorageAt
type EthAPIBackend ¶
type EthAPIBackend struct {
// contains filtered or unexported fields
}
EthAPIBackend implements ethapi.Backend and tracers.Backend for full nodes
func (*EthAPIBackend) AccountManager ¶
func (b *EthAPIBackend) AccountManager() *accounts.Manager
func (*EthAPIBackend) BadBlocks ¶ added in v0.13.7
func (b *EthAPIBackend) BadBlocks() ([]*types.Block, []*core.BadBlockReason)
func (*EthAPIBackend) BlockByHash ¶
func (*EthAPIBackend) BlockByNumber ¶
func (b *EthAPIBackend) BlockByNumber(ctx context.Context, number rpc.BlockNumber) (*types.Block, error)
func (*EthAPIBackend) BlockByNumberOrHash ¶ added in v0.13.7
func (b *EthAPIBackend) BlockByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*types.Block, error)
func (*EthAPIBackend) BloomStatus ¶
func (b *EthAPIBackend) BloomStatus() (uint64, uint64)
func (*EthAPIBackend) ChainConfig ¶
func (b *EthAPIBackend) ChainConfig() *params.ChainConfig
ChainConfig returns the active chain configuration.
func (*EthAPIBackend) ChainDb ¶
func (b *EthAPIBackend) ChainDb() ethdb.Database
func (*EthAPIBackend) CurrentBlock ¶
func (b *EthAPIBackend) CurrentBlock() *types.Header
func (*EthAPIBackend) CurrentHeader ¶ added in v0.13.7
func (b *EthAPIBackend) CurrentHeader() *types.Header
func (*EthAPIBackend) Engine ¶ added in v0.13.7
func (b *EthAPIBackend) Engine() consensus.Engine
func (*EthAPIBackend) EstimateBaseFee ¶ added in v0.13.7
func (*EthAPIBackend) EventMux ¶
func (b *EthAPIBackend) EventMux() *event.TypeMux
func (*EthAPIBackend) ExtRPCEnabled ¶
func (b *EthAPIBackend) ExtRPCEnabled() bool
func (*EthAPIBackend) FeeHistory ¶ added in v0.13.7
func (*EthAPIBackend) GetBody ¶ added in v0.13.7
func (b *EthAPIBackend) GetBody(ctx context.Context, hash common.Hash, number rpc.BlockNumber) (*types.Body, error)
GetBody returns body of a block. It does not resolve special block numbers.
func (*EthAPIBackend) GetMaxBlocksPerRequest ¶ added in v0.13.7
func (b *EthAPIBackend) GetMaxBlocksPerRequest() int64
func (*EthAPIBackend) GetPoolNonce ¶
func (*EthAPIBackend) GetPoolTransaction ¶
func (b *EthAPIBackend) GetPoolTransaction(hash common.Hash) *types.Transaction
func (*EthAPIBackend) GetPoolTransactions ¶
func (b *EthAPIBackend) GetPoolTransactions() (types.Transactions, error)
func (*EthAPIBackend) GetReceipts ¶
func (*EthAPIBackend) GetTransaction ¶
func (*EthAPIBackend) HeaderByHash ¶
func (*EthAPIBackend) HeaderByNumber ¶
func (b *EthAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*types.Header, error)
func (*EthAPIBackend) HeaderByNumberOrHash ¶ added in v0.13.7
func (b *EthAPIBackend) HeaderByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*types.Header, error)
func (*EthAPIBackend) HistoricalProofQueryWindow ¶ added in v0.15.50
func (b *EthAPIBackend) HistoricalProofQueryWindow() uint64
HistoricalProofQueryWindow returns the number of blocks before the last accepted block to be accepted for state queries. It returns 0 to indicate to accept any block number for state queries.
func (*EthAPIBackend) InsecureUnlockAllowed ¶ added in v0.15.50
func (b *EthAPIBackend) InsecureUnlockAllowed() bool
func (*EthAPIBackend) IsAllowUnfinalizedQueries ¶ added in v0.13.7
func (b *EthAPIBackend) IsAllowUnfinalizedQueries() bool
func (*EthAPIBackend) IsArchive ¶ added in v0.15.50
func (b *EthAPIBackend) IsArchive() bool
IsArchive returns true if the node is running in archive mode, false otherwise.
func (*EthAPIBackend) LastAcceptedBlock ¶ added in v0.13.7
func (b *EthAPIBackend) LastAcceptedBlock() *types.Block
func (*EthAPIBackend) MinRequiredTip ¶ added in v0.13.7
func (*EthAPIBackend) PriceOptionsConfig ¶ added in v0.15.50
func (b *EthAPIBackend) PriceOptionsConfig() ethapi.PriceOptionConfig
func (*EthAPIBackend) RPCEVMTimeout ¶ added in v0.13.7
func (b *EthAPIBackend) RPCEVMTimeout() time.Duration
func (*EthAPIBackend) RPCGasCap ¶
func (b *EthAPIBackend) RPCGasCap() uint64
func (*EthAPIBackend) RPCTxFeeCap ¶ added in v0.13.7
func (b *EthAPIBackend) RPCTxFeeCap() float64
func (*EthAPIBackend) SendTx ¶
func (b *EthAPIBackend) SendTx(ctx context.Context, signedTx *types.Transaction) error
func (*EthAPIBackend) ServiceFilter ¶
func (b *EthAPIBackend) ServiceFilter(ctx context.Context, session *bloombits.MatcherSession)
func (*EthAPIBackend) SetAllowUnfinalizedQueries ¶ added in v0.13.7
func (b *EthAPIBackend) SetAllowUnfinalizedQueries(allow bool)
func (*EthAPIBackend) StateAndHeaderByNumber ¶
func (b *EthAPIBackend) StateAndHeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*state.StateDB, *types.Header, error)
func (*EthAPIBackend) StateAndHeaderByNumberOrHash ¶ added in v0.13.7
func (b *EthAPIBackend) StateAndHeaderByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*state.StateDB, *types.Header, error)
func (*EthAPIBackend) StateAtBlock ¶ added in v0.13.7
func (*EthAPIBackend) StateAtNextBlock ¶ added in v0.13.7
func (*EthAPIBackend) StateAtTransaction ¶ added in v0.13.7
func (*EthAPIBackend) Stats ¶
func (b *EthAPIBackend) Stats() (runnable int, blocked int)
func (*EthAPIBackend) SubscribeAcceptedLogsEvent ¶ added in v0.13.7
func (b *EthAPIBackend) SubscribeAcceptedLogsEvent(ch chan<- []*types.Log) event.Subscription
func (*EthAPIBackend) SubscribeAcceptedTransactionEvent ¶ added in v0.13.7
func (b *EthAPIBackend) SubscribeAcceptedTransactionEvent(ch chan<- core.NewTxsEvent) event.Subscription
func (*EthAPIBackend) SubscribeChainAcceptedEvent ¶ added in v0.13.7
func (b *EthAPIBackend) SubscribeChainAcceptedEvent(ch chan<- core.ChainEvent) event.Subscription
func (*EthAPIBackend) SubscribeChainEvent ¶
func (b *EthAPIBackend) SubscribeChainEvent(ch chan<- core.ChainEvent) event.Subscription
func (*EthAPIBackend) SubscribeChainHeadEvent ¶
func (b *EthAPIBackend) SubscribeChainHeadEvent(ch chan<- core.ChainHeadEvent) event.Subscription
func (*EthAPIBackend) SubscribeChainSideEvent ¶
func (b *EthAPIBackend) SubscribeChainSideEvent(ch chan<- core.ChainSideEvent) event.Subscription
func (*EthAPIBackend) SubscribeLogsEvent ¶
func (b *EthAPIBackend) SubscribeLogsEvent(ch chan<- []*types.Log) event.Subscription
func (*EthAPIBackend) SubscribeNewTxsEvent ¶
func (b *EthAPIBackend) SubscribeNewTxsEvent(ch chan<- core.NewTxsEvent) event.Subscription
func (*EthAPIBackend) SubscribePendingLogsEvent ¶ added in v0.13.7
func (b *EthAPIBackend) SubscribePendingLogsEvent(ch chan<- []*types.Log) event.Subscription
func (*EthAPIBackend) SubscribeRemovedLogsEvent ¶
func (b *EthAPIBackend) SubscribeRemovedLogsEvent(ch chan<- core.RemovedLogsEvent) event.Subscription
func (*EthAPIBackend) SuggestGasTipCap ¶ added in v0.13.7
func (*EthAPIBackend) SuggestPrice ¶
func (*EthAPIBackend) TxPoolContent ¶
func (b *EthAPIBackend) TxPoolContent() (map[common.Address][]*types.Transaction, map[common.Address][]*types.Transaction)
func (*EthAPIBackend) TxPoolContentFrom ¶ added in v0.13.7
func (b *EthAPIBackend) TxPoolContentFrom(addr common.Address) ([]*types.Transaction, []*types.Transaction)
func (*EthAPIBackend) UnprotectedAllowed ¶ added in v0.13.7
func (b *EthAPIBackend) UnprotectedAllowed(tx *types.Transaction) bool
type Ethereum ¶
type Ethereum struct {
APIBackend *EthAPIBackend
// contains filtered or unexported fields
}
Ethereum implements the Ethereum full node service.
func New ¶
func New( stack *node.Node, config *Config, gossiper PushGossiper, chainDb ethdb.Database, settings Settings, lastAcceptedHash common.Hash, engine consensus.Engine, clock *mockable.Clock, ) (*Ethereum, error)
New creates a new Ethereum object (including the initialisation of the common Ethereum object)
func (*Ethereum) APIs ¶
APIs return the collection of RPC services the ethereum package offers. NOTE, some of these services probably need to be moved to somewhere else.
func (*Ethereum) AccountManager ¶
func (*Ethereum) ArchiveMode ¶
func (*Ethereum) BlockChain ¶
func (s *Ethereum) BlockChain() *core.BlockChain
func (*Ethereum) BloomIndexer ¶ added in v0.13.7
func (s *Ethereum) BloomIndexer() *core.ChainIndexer
func (*Ethereum) CallPostImportCallback ¶ added in v0.15.64
CallPostImportCallback invokes the post-import callback if set. Returns nil if no callback is registered.
func (*Ethereum) LastAcceptedBlock ¶ added in v0.13.7
func (*Ethereum) NetVersion ¶
func (*Ethereum) SetEtherbase ¶
SetEtherbase sets the mining reward address.
func (*Ethereum) SetPostImportCallback ¶ added in v0.15.64
func (s *Ethereum) SetPostImportCallback(cb func(lastBlockHash common.Hash, lastBlockHeight uint64) error)
SetPostImportCallback registers a callback that is called after successful block import via admin_importChain. This allows the VM layer to update its acceptedBlockDB after admin API imports.
func (*Ethereum) Start ¶
func (s *Ethereum) Start()
Start implements node.Lifecycle, starting all internal goroutines needed by the Ethereum protocol implementation.
func (*Ethereum) StateAtNextBlock ¶ added in v0.13.7
func (eth *Ethereum) StateAtNextBlock(ctx context.Context, parent *types.Block, nextBlock *types.Block, reexec uint64, base *state.StateDB, readOnly bool, preferDisk bool) (*state.StateDB, tracers.StateReleaseFunc, error)
StateAtNextBlock is a helper function that returns the state at the next block. It wraps StateAtBlock and handles the case where Upgrades are applied to the next block. This is different than using StateAtBlock with [nextBlock] because it will apply the upgrades to the [parent] state before returning it.
type EthereumAPI ¶ added in v0.13.7
type EthereumAPI struct {
// contains filtered or unexported fields
}
EthereumAPI provides an API to access Ethereum full node-related information.
func NewEthereumAPI ¶ added in v0.13.7
func NewEthereumAPI(e *Ethereum) *EthereumAPI
NewEthereumAPI creates a new Ethereum protocol API for full nodes.
type PushGossiper ¶ added in v0.13.7
type PushGossiper interface {
Add(*types.Transaction)
}
PushGossiper sends pushes pending transactions to peers until they are removed from the mempool.
type Settings ¶ added in v0.13.7
type Settings struct {
MaxBlocksPerRequest int64 // Maximum number of blocks to serve per getLogs request
}
type StorageRangeResult ¶
type StorageRangeResult struct {
Storage storageMap `json:"storage"`
NextKey *common.Hash `json:"nextKey"` // nil if Storage includes the last key in the trie.
}
StorageRangeResult is the result of a debug_storageRangeAt API call.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package filters implements an ethereum filtering system for block, transactions and log events.
|
Package filters implements an ethereum filtering system for block, transactions and log events. |
|
Package tracers is a manager for transaction tracing engines.
|
Package tracers is a manager for transaction tracing engines. |