Documentation ¶
Overview ¶
Package quai implements the Quai protocol.
Index ¶
- Constants
- Variables
- type Config
- type ConsensusAPI
- type NetworkingAPI
- type PrivateAdminAPI
- type PrivateDebugAPI
- func (api *PrivateDebugAPI) GetModifiedAccountsByHash(startHash common.Hash, endHash *common.Hash) ([]common.Address, error)
- func (api *PrivateDebugAPI) GetModifiedAccountsByNumber(startNum uint64, endNum *uint64) ([]common.Address, error)
- func (api *PrivateDebugAPI) Preimage(ctx context.Context, hash common.Hash) (hexutil.Bytes, error)
- func (api *PrivateDebugAPI) StorageRangeAt(blockHash common.Hash, txIndex int, contractAddress common.Address, ...) (StorageRangeResult, error)
- type PrivateMinerAPI
- func (api *PrivateMinerAPI) SetExtra(extra string) (bool, error)
- func (api *PrivateMinerAPI) SetGasLimit(gasLimit hexutil.Uint64) bool
- func (api *PrivateMinerAPI) SetGasPrice(gasPrice hexutil.Big) bool
- func (api *PrivateMinerAPI) SetLockupByte(lockupByte hexutil.Uint64) (bool, error)
- func (api *PrivateMinerAPI) SetMinerPreference(minerPreference string) (bool, error)
- func (api *PrivateMinerAPI) SetPrimaryCoinbase(primaryCoinbase common.Address) bool
- func (api *PrivateMinerAPI) SetRecommitInterval(interval int)
- func (api *PrivateMinerAPI) SetSecondaryCoinbase(secondaryCoinbase common.Address) bool
- type PublicDebugAPI
- type PublicMinerAPI
- type PublicQuaiAPI
- type Quai
- func (s *Quai) APIs() []rpc.API
- func (s *Quai) ArchiveMode() bool
- func (s *Quai) BloomIndexer() *core.ChainIndexer
- func (s *Quai) ChainDb() ethdb.Database
- func (s *Quai) Core() *core.Core
- func (s *Quai) Engine() consensus.Engine
- func (s *Quai) EventMux() *event.TypeMux
- func (s *Quai) IsListening() bool
- func (s *Quai) Start() error
- func (s *Quai) Stop() error
- type QuaiAPIBackend
- func (b *QuaiAPIBackend) AddGenesisPendingEtxs(block *types.WorkObject)
- func (b *QuaiAPIBackend) AddPendingEtxs(pEtxs types.PendingEtxs) error
- func (b *QuaiAPIBackend) AddPendingEtxsRollup(pEtxsRollup types.PendingEtxsRollup) error
- func (b *QuaiAPIBackend) AddToCalcOrderCache(hash common.Hash, order int, intrinsicS *big.Int)
- func (b *QuaiAPIBackend) AddressOutpoints(ctx context.Context, address common.Address) ([]*types.OutpointAndDenomination, error)
- func (b *QuaiAPIBackend) Append(header *types.WorkObject, manifest types.BlockManifest, ...) (types.Transactions, error)
- func (b *QuaiAPIBackend) ApplyPoWFilter(wo *types.WorkObject) pubsub.ValidationResult
- func (b *QuaiAPIBackend) BadHashExistsInChain() bool
- func (b *QuaiAPIBackend) BlockByHash(ctx context.Context, hash common.Hash) (*types.WorkObject, error)
- func (b *QuaiAPIBackend) BlockByNumber(ctx context.Context, number rpc.BlockNumber) (*types.WorkObject, error)
- func (b *QuaiAPIBackend) BlockByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*types.WorkObject, error)
- func (b *QuaiAPIBackend) BlockOrCandidateByHash(hash common.Hash) *types.WorkObject
- func (b *QuaiAPIBackend) BloomStatus() (uint64, uint64)
- func (b *QuaiAPIBackend) BroadcastBlock(block *types.WorkObject, location common.Location) error
- func (b *QuaiAPIBackend) BroadcastHeader(header *types.WorkObject, location common.Location) error
- func (b *QuaiAPIBackend) BroadcastWorkShare(workShare *types.WorkObjectShareView, location common.Location) error
- func (b *QuaiAPIBackend) CalcOrder(header *types.WorkObject) (*big.Int, int, error)
- func (b *QuaiAPIBackend) ChainConfig() *params.ChainConfig
- func (b *QuaiAPIBackend) ChainDb() ethdb.Database
- func (b *QuaiAPIBackend) CheckIfValidWorkShare(workShare *types.WorkObjectHeader) types.WorkShareValidity
- func (b *QuaiAPIBackend) CheckInCalcOrderCache(hash common.Hash) (*big.Int, int, bool)
- func (b *QuaiAPIBackend) ComputeEfficiencyScore(header *types.WorkObject) (uint16, error)
- func (b *QuaiAPIBackend) ComputeExpansionNumber(parent *types.WorkObject) (uint8, error)
- func (b *QuaiAPIBackend) Config() *params.ChainConfig
- func (b *QuaiAPIBackend) ConstructLocalMinedBlock(header *types.WorkObject) (*types.WorkObject, error)
- func (b *QuaiAPIBackend) CurrentBlock() *types.WorkObject
- func (b *QuaiAPIBackend) CurrentHeader() *types.WorkObject
- func (b *QuaiAPIBackend) CurrentLogEntropy() *big.Int
- func (b *QuaiAPIBackend) Database() ethdb.Database
- func (b *QuaiAPIBackend) DownloadBlocksInManifest(hash common.Hash, manifest types.BlockManifest, entropy *big.Int)
- func (b *QuaiAPIBackend) Engine() consensus.Engine
- func (b *QuaiAPIBackend) EventMux() *event.TypeMux
- func (b *QuaiAPIBackend) ExtRPCEnabled() bool
- func (b *QuaiAPIBackend) GeneratePendingHeader(block *types.WorkObject, fill bool) (*types.WorkObject, error)
- func (b *QuaiAPIBackend) GenerateRecoveryPendingHeader(pendingHeader *types.WorkObject, checkpointHashes types.Termini) error
- func (b *QuaiAPIBackend) GetBlock(hash common.Hash, number uint64) (*types.WorkObject, error)
- func (b *QuaiAPIBackend) GetBlockByHash(hash common.Hash) *types.WorkObject
- func (b *QuaiAPIBackend) GetBloom(hash common.Hash) (*types.Bloom, error)
- func (b *QuaiAPIBackend) GetEVM(ctx context.Context, msg core.Message, state *state.StateDB, ...) (*vm.EVM, func() error, error)
- func (b *QuaiAPIBackend) GetExpansionNumber() uint8
- func (b *QuaiAPIBackend) GetHeaderByHash(hash common.Hash) *types.WorkObject
- func (b *QuaiAPIBackend) GetHeaderByNumber(number uint64) *types.WorkObject
- func (b *QuaiAPIBackend) GetLogs(ctx context.Context, hash common.Hash) ([][]*types.Log, error)
- func (b *QuaiAPIBackend) GetManifest(blockHash common.Hash) (types.BlockManifest, error)
- func (b *QuaiAPIBackend) GetMaxTxInWorkShare() uint64
- func (b *QuaiAPIBackend) GetMinGasPrice() *big.Int
- func (b *QuaiAPIBackend) GetMinerEndpoints() []string
- func (b *QuaiAPIBackend) GetOutpointsByAddressAndRange(ctx context.Context, address common.Address, start, end uint32) ([]*types.OutpointAndDenomination, error)
- func (b *QuaiAPIBackend) GetPendingBlockBody(woHeader *types.WorkObjectHeader) *types.WorkObject
- func (b *QuaiAPIBackend) GetPendingEtxsFromSub(hash common.Hash, location common.Location) (types.PendingEtxs, error)
- func (b *QuaiAPIBackend) GetPendingEtxsRollupFromSub(hash common.Hash, location common.Location) (types.PendingEtxsRollup, error)
- func (b *QuaiAPIBackend) GetPendingHeader() (*types.WorkObject, error)
- func (b *QuaiAPIBackend) GetPoolGasPrice() *big.Int
- func (b *QuaiAPIBackend) GetPoolNonce(ctx context.Context, addr common.Address) (uint64, error)
- func (b *QuaiAPIBackend) GetPoolTransaction(hash common.Hash) *types.Transaction
- func (b *QuaiAPIBackend) GetPoolTransactions() (types.Transactions, error)
- func (b *QuaiAPIBackend) GetPrimeBlock(blockHash common.Hash) *types.WorkObject
- func (b *QuaiAPIBackend) GetReceipts(ctx context.Context, hash common.Hash) (types.Receipts, error)
- func (b *QuaiAPIBackend) GetSlicesRunning() []common.Location
- func (b *QuaiAPIBackend) GetSubManifest(slice common.Location, blockHash common.Hash) (types.BlockManifest, error)
- func (b *QuaiAPIBackend) GetTerminiByHash(hash common.Hash) *types.Termini
- func (b *QuaiAPIBackend) GetTransaction(ctx context.Context, txHash common.Hash) (*types.Transaction, common.Hash, uint64, uint64, error)
- func (b *QuaiAPIBackend) GetTxsFromBroadcastSet(hash common.Hash) (types.Transactions, error)
- func (b *QuaiAPIBackend) GetWorkShareThreshold() int
- func (b *QuaiAPIBackend) HeaderByHash(ctx context.Context, hash common.Hash) (*types.WorkObject, error)
- func (b *QuaiAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*types.WorkObject, error)
- func (b *QuaiAPIBackend) HeaderByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*types.WorkObject, error)
- func (b *QuaiAPIBackend) InsertBlock(ctx context.Context, block *types.WorkObject) (int, error)
- func (b *QuaiAPIBackend) IsBlockHashABadHash(hash common.Hash) bool
- func (b *QuaiAPIBackend) IsGenesisHash(hash common.Hash) bool
- func (b *QuaiAPIBackend) Logger() *log.Logger
- func (b *QuaiAPIBackend) MakeFullPendingHeader(primePh, regionPh, zonePh *types.WorkObject) *types.WorkObject
- func (b *QuaiAPIBackend) NewGenesisPendingHeader(pendingHeader *types.WorkObject, domTerminus common.Hash, ...) error
- func (b *QuaiAPIBackend) NodeCtx() int
- func (b *QuaiAPIBackend) NodeLocation() common.Location
- func (b *QuaiAPIBackend) PendingBlock() *types.WorkObject
- func (b *QuaiAPIBackend) PendingBlockAndReceipts() (*types.WorkObject, types.Receipts)
- func (b *QuaiAPIBackend) ProcessingState() bool
- func (b *QuaiAPIBackend) RPCGasCap() uint64
- func (b *QuaiAPIBackend) RPCTxFeeCap() float64
- func (b *QuaiAPIBackend) RequestDomToAppendOrFetch(hash common.Hash, entropy *big.Int, order int)
- func (b *QuaiAPIBackend) SanityCheckWorkObjectBlockViewBody(wo *types.WorkObject) error
- func (b *QuaiAPIBackend) SanityCheckWorkObjectHeaderViewBody(wo *types.WorkObject) error
- func (b *QuaiAPIBackend) SanityCheckWorkObjectShareViewBody(wo *types.WorkObject) error
- func (b *QuaiAPIBackend) SendRemoteTx(remoteTx *types.Transaction) error
- func (b *QuaiAPIBackend) SendRemoteTxs(remoteTxs types.Transactions) []error
- func (b *QuaiAPIBackend) SendTx(ctx context.Context, signedTx *types.Transaction) error
- func (b *QuaiAPIBackend) SendTxToSharingClients(tx *types.Transaction)
- func (b *QuaiAPIBackend) SendWorkShare(workShare *types.WorkObjectHeader) error
- func (b *QuaiAPIBackend) ServiceFilter(ctx context.Context, session *bloombits.MatcherSession)
- func (b *QuaiAPIBackend) SetCurrentExpansionNumber(expansionNumber uint8)
- func (b *QuaiAPIBackend) SetDomInterface(domInterface core.CoreBackend)
- func (b *QuaiAPIBackend) SetSubInterface(subInterface core.CoreBackend, location common.Location)
- func (b *QuaiAPIBackend) StateAndHeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*state.StateDB, *types.WorkObject, error)
- func (b *QuaiAPIBackend) StateAndHeaderByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*state.StateDB, *types.WorkObject, error)
- func (b *QuaiAPIBackend) StateAtBlock(ctx context.Context, block *types.WorkObject, reexec uint64, ...) (*state.StateDB, error)
- func (b *QuaiAPIBackend) StateAtTransaction(ctx context.Context, block *types.WorkObject, txIndex int, reexec uint64) (core.Message, vm.BlockContext, *state.StateDB, error)
- func (b *QuaiAPIBackend) Stats() (pending int, queued int, qi int)
- func (b *QuaiAPIBackend) SubscribeChainEvent(ch chan<- core.ChainEvent) event.Subscription
- func (b *QuaiAPIBackend) SubscribeChainHeadEvent(ch chan<- core.ChainHeadEvent) event.Subscription
- func (b *QuaiAPIBackend) SubscribeChainSideEvent(ch chan<- core.ChainSideEvent) event.Subscription
- func (b *QuaiAPIBackend) SubscribeExpansionEvent(ch chan<- core.ExpansionEvent) event.Subscription
- func (b *QuaiAPIBackend) SubscribeLogsEvent(ch chan<- []*types.Log) event.Subscription
- func (b *QuaiAPIBackend) SubscribePendingHeaderEvent(ch chan<- *types.WorkObject) event.Subscription
- func (b *QuaiAPIBackend) SubscribePendingLogsEvent(ch chan<- []*types.Log) event.Subscription
- func (b *QuaiAPIBackend) SubscribeRemovedLogsEvent(ch chan<- core.RemovedLogsEvent) event.Subscription
- func (b *QuaiAPIBackend) SubscribeUnlocksEvent(ch chan<- core.UnlocksEvent) event.Subscription
- func (b *QuaiAPIBackend) SuggestFinalityDepth(ctx context.Context, qiValue *big.Int, correlatedRisk *big.Int) (*big.Int, error)
- func (b *QuaiAPIBackend) TotalLogEntropy(header *types.WorkObject) *big.Int
- func (b *QuaiAPIBackend) TxMiningEnabled() bool
- func (b *QuaiAPIBackend) TxPool() *core.TxPool
- func (b *QuaiAPIBackend) TxPoolContent() (map[common.InternalAddress]types.Transactions, ...)
- func (b *QuaiAPIBackend) TxPoolContentFrom(addr common.Address) (types.Transactions, types.Transactions)
- func (b *QuaiAPIBackend) UTXOsByAddress(ctx context.Context, address common.Address) ([]*types.UtxoEntry, error)
- func (b *QuaiAPIBackend) UpdateEtxEligibleSlices(header *types.WorkObject, location common.Location) common.Hash
- func (b *QuaiAPIBackend) WorkShareDistance(wo *types.WorkObject, ws *types.WorkObjectHeader) (*big.Int, error)
- func (b *QuaiAPIBackend) WriteAddressOutpoints(outpoints map[[20]byte][]*types.OutpointAndDenomination) error
- func (b *QuaiAPIBackend) WriteBlock(block *types.WorkObject)
- func (b *QuaiAPIBackend) WriteGenesisBlock(block *types.WorkObject, location common.Location)
- type QuaiBackend
- func (qbe *QuaiBackend) AddGenesisPendingEtxs(block *types.WorkObject, location common.Location)
- func (qbe *QuaiBackend) GetBackend(location common.Location) *quaiapi.Backend
- func (qbe *QuaiBackend) GetHeight(location common.Location) uint64
- func (qbe *QuaiBackend) GetTrieNode(hash common.Hash, location common.Location) *trie.TrieNodeResponse
- func (qbe *QuaiBackend) LookupBlock(hash common.Hash, location common.Location) *types.WorkObject
- func (qbe *QuaiBackend) LookupBlockByNumber(number *big.Int, location common.Location) *types.WorkObject
- func (qbe *QuaiBackend) LookupBlockHashByNumber(number *big.Int, location common.Location) *common.Hash
- func (qbe *QuaiBackend) OnNewBroadcast(sourcePeer p2p.PeerID, Id string, topic string, data interface{}, ...) bool
- func (qbe *QuaiBackend) ProcessingState(location common.Location) bool
- func (qbe *QuaiBackend) SetApiBackend(apiBackend *quaiapi.Backend, location common.Location)
- func (qbe *QuaiBackend) SetCurrentExpansionNumber(expansionNumber uint8)
- func (qbe *QuaiBackend) SetDomInterface(domInterface core.CoreBackend, nodeLocation common.Location)
- func (qbe *QuaiBackend) SetP2PApiBackend(p2pBackend NetworkingAPI)
- func (qbe *QuaiBackend) SetPrimeApiBackend(primeBackend *quaiapi.Backend)
- func (qbe *QuaiBackend) SetRegionApiBackend(regionBackend *quaiapi.Backend, location common.Location)
- func (qbe *QuaiBackend) SetSubInterface(subInterface core.CoreBackend, nodeLocation common.Location, ...)
- func (qbe *QuaiBackend) SetZoneApiBackend(zoneBackend *quaiapi.Backend, location common.Location)
- func (qbe *QuaiBackend) WriteGenesisBlock(block *types.WorkObject, location common.Location)
- type StorageRangeResult
Constants ¶
const AccountRangeMaxResults = 256
AccountRangeMaxResults is the maximum number of results to be returned per call
Variables ¶
var (
ErrBlockAlreadyAppended = errors.New("block has already been appended")
)
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config = quaiconfig.Config
Config contains the configuration options of the ETH protocol. Deprecated: use ethconfig.Config instead.
type ConsensusAPI ¶
type ConsensusAPI interface { // Returns the current block height for the given location GetHeight(common.Location) uint64 // Handle new data propagated from the gossip network. Should return quickly. // Specify the peer which propagated the data to us, as well as the data itself. // Return true if this data should be relayed to peers. False if it should be ignored. OnNewBroadcast(core.PeerID, string, string, interface{}, common.Location) bool // Asks the consensus backend to lookup a block by hash and location. // If the block is found, it should be returned. Otherwise, nil should be returned. LookupBlock(common.Hash, common.Location) *types.WorkObject LookupBlockHashByNumber(*big.Int, common.Location) *common.Hash LookupBlockByNumber(*big.Int, common.Location) *types.WorkObject // Asks the consensus backend to lookup a trie node by hash and location, // and return the data in the trie node. GetTrieNode(hash common.Hash, location common.Location) *trie.TrieNodeResponse // GetBackend gets the backend for the given location GetBackend(nodeLocation common.Location) *quaiapi.Backend // SetApiBackend sets the backend for the given location SetApiBackend(*quaiapi.Backend, common.Location) // SetCurrentExpansionNumber sets the current expansion number for the given location SetCurrentExpansionNumber(uint8) // SetSubInteface sets the sub interface for the given location SetSubInterface(chain.CoreBackend, common.Location, common.Location) // SetDomInterface sets the dom interface for the given location SetDomInterface(chain.CoreBackend, common.Location) // AddGenesisPendingEtxs adds the genesis pending etxs for the given location AddGenesisPendingEtxs(*types.WorkObject, common.Location) // WriteGenesisBlock adds the genesis block to the database and also writes the block to the disk WriteGenesisBlock(*types.WorkObject, common.Location) // Returns if the location is processing state ProcessingState(common.Location) bool }
The consensus backend will implement the following interface to provide information to the networking backend.
type NetworkingAPI ¶
type NetworkingAPI interface { // Start the p2p node Start() error // Stop the p2p node Stop() error // Subscribe/UnSubscribe to a type of data from a given location Subscribe(common.Location, interface{}) error Unsubscribe(common.Location, interface{}) error // Method to broadcast data to the network // Specify location and the data to send Broadcast(common.Location, interface{}) error // SetConsensusBackend sets the consensus API into the p2p interface SetConsensusBackend(ConsensusAPI) // Method to request data from the network // Specify location, data hash, and data type to request Request(location common.Location, requestData interface{}, responseDataType interface{}) chan interface{} // Adjust a peer's quality score AdjustPeerQuality(core.PeerID, string, func(int) int) // Protects the peer's connection from being pruned ProtectPeer(core.PeerID) // Remove protection from the peer's connection UnprotectPeer(core.PeerID) // BanPeer will close the connection and prevent future connections with this peer BanPeer(core.PeerID) }
The networking backend will implement the following interface to enable consensus to communicate with other nodes.
type PrivateAdminAPI ¶
type PrivateAdminAPI struct {
// contains filtered or unexported fields
}
PrivateAdminAPI is the collection of Quai full node-related APIs exposed over the private admin endpoint.
func NewPrivateAdminAPI ¶
func NewPrivateAdminAPI(quai *Quai) *PrivateAdminAPI
NewPrivateAdminAPI creates a new API definition for the full node private admin methods of the Quai service.
func (*PrivateAdminAPI) ExportChain ¶
ExportChain exports the current blockchain into a local file, or a range of blocks if first and last are non-nil
func (*PrivateAdminAPI) ImportChain ¶
func (api *PrivateAdminAPI) ImportChain(file string) (bool, error)
ImportChain imports a blockchain from a local file.
type PrivateDebugAPI ¶
type PrivateDebugAPI struct {
// contains filtered or unexported fields
}
PrivateDebugAPI is the collection of Quai full node APIs exposed over the private debugging endpoint.
func NewPrivateDebugAPI ¶
func NewPrivateDebugAPI(quai *Quai) *PrivateDebugAPI
NewPrivateDebugAPI creates a new API definition for the full node-related private debug methods of the Quai service.
func (*PrivateDebugAPI) GetModifiedAccountsByHash ¶
func (api *PrivateDebugAPI) 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 (*PrivateDebugAPI) GetModifiedAccountsByNumber ¶
func (api *PrivateDebugAPI) 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 (*PrivateDebugAPI) Preimage ¶
Preimage is a debug API function that returns the preimage for a sha3 hash, if known.
func (*PrivateDebugAPI) StorageRangeAt ¶
func (api *PrivateDebugAPI) StorageRangeAt(blockHash common.Hash, 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 PrivateMinerAPI ¶
type PrivateMinerAPI struct {
// contains filtered or unexported fields
}
PrivateMinerAPI provides private RPC methods to control the miner. These methods can be abused by external users and must be considered insecure for use by untrusted users.
func NewPrivateMinerAPI ¶
func NewPrivateMinerAPI(e *Quai) *PrivateMinerAPI
NewPrivateMinerAPI create a new RPC service which controls the miner of this node.
func (*PrivateMinerAPI) SetExtra ¶
func (api *PrivateMinerAPI) SetExtra(extra string) (bool, error)
SetExtra sets the extra data string that is included when this miner mines a block.
func (*PrivateMinerAPI) SetGasLimit ¶
func (api *PrivateMinerAPI) SetGasLimit(gasLimit hexutil.Uint64) bool
SetGasLimit sets the gaslimit to target towards during mining.
func (*PrivateMinerAPI) SetGasPrice ¶
func (api *PrivateMinerAPI) SetGasPrice(gasPrice hexutil.Big) bool
SetGasPrice sets the minimum accepted gas price for the miner.
func (*PrivateMinerAPI) SetLockupByte ¶ added in v0.39.0
func (api *PrivateMinerAPI) SetLockupByte(lockupByte hexutil.Uint64) (bool, error)
func (*PrivateMinerAPI) SetMinerPreference ¶ added in v0.39.0
func (api *PrivateMinerAPI) SetMinerPreference(minerPreference string) (bool, error)
func (*PrivateMinerAPI) SetPrimaryCoinbase ¶ added in v0.34.0
func (api *PrivateMinerAPI) SetPrimaryCoinbase(primaryCoinbase common.Address) bool
SetPrimaryCoinbase sets the primary coinbase of the miner
func (*PrivateMinerAPI) SetRecommitInterval ¶
func (api *PrivateMinerAPI) SetRecommitInterval(interval int)
SetRecommitInterval updates the interval for miner sealing work recommitting.
func (*PrivateMinerAPI) SetSecondaryCoinbase ¶ added in v0.34.0
func (api *PrivateMinerAPI) SetSecondaryCoinbase(secondaryCoinbase common.Address) bool
SetSecondaryCoinbase sets the secondary coinbase of the miner
type PublicDebugAPI ¶
type PublicDebugAPI struct {
// contains filtered or unexported fields
}
PublicDebugAPI is the collection of Quai full node APIs exposed over the public debugging endpoint.
func NewPublicDebugAPI ¶
func NewPublicDebugAPI(quai *Quai) *PublicDebugAPI
NewPublicDebugAPI creates a new API definition for the full node- related public debug methods of the Quai service.
func (*PublicDebugAPI) AccountRange ¶
func (api *PublicDebugAPI) AccountRange(blockNrOrHash rpc.BlockNumberOrHash, start []byte, maxResults int, nocode, nostorage, incompletes bool) (state.IteratorDump, error)
AccountRange enumerates all accounts in the given block and start point in paging request
func (*PublicDebugAPI) DumpBlock ¶
func (api *PublicDebugAPI) DumpBlock(blockNr rpc.BlockNumber) (state.Dump, error)
DumpBlock retrieves the entire state of the database at a given block.
type PublicMinerAPI ¶
type PublicMinerAPI struct {
// contains filtered or unexported fields
}
PublicMinerAPI provides an API to control the miner. It offers only methods that operate on data that pose no security risk when it is publicly accessible.
func NewPublicMinerAPI ¶
func NewPublicMinerAPI(e *Quai) *PublicMinerAPI
NewPublicMinerAPI create a new PublicMinerAPI instance.
func (*PublicMinerAPI) Mining ¶
func (api *PublicMinerAPI) Mining() bool
Mining returns an indication if this node is currently mining.
type PublicQuaiAPI ¶
type PublicQuaiAPI struct {
// contains filtered or unexported fields
}
PublicQuaiAPI provides an API to access Quai full node-related information.
func NewPublicQuaiAPI ¶
func NewPublicQuaiAPI(e *Quai) *PublicQuaiAPI
NewPublicQuaiAPI creates a new Quai protocol API for full nodes.
func (*PublicQuaiAPI) PrimaryCoinbase ¶ added in v0.34.0
func (api *PublicQuaiAPI) PrimaryCoinbase() (common.Address, error)
PrimaryCoinbase is the address that mining rewards will be send to
type Quai ¶
type Quai struct { APIBackend *QuaiAPIBackend // contains filtered or unexported fields }
Quai implements the Quai full node service.
func New ¶
func New(stack *node.Node, p2p NetworkingAPI, config *quaiconfig.Config, nodeCtx int, currentExpansionNumber uint8, startingExpansionNumber uint64, genesisBlock *types.WorkObject, logger *log.Logger, maxWsSubs int) (*Quai, error)
New creates a new Quai object (including the initialisation of the common Quai object)
func (*Quai) APIs ¶
APIs return the collection of RPC services the go-quai package offers. NOTE, some of these services probably need to be moved to somewhere else.
func (*Quai) ArchiveMode ¶
func (*Quai) BloomIndexer ¶
func (s *Quai) BloomIndexer() *core.ChainIndexer
func (*Quai) IsListening ¶
type QuaiAPIBackend ¶
type QuaiAPIBackend struct {
// contains filtered or unexported fields
}
QuaiAPIBackend implements quaiapi.Backend for full nodes
func (*QuaiAPIBackend) AddGenesisPendingEtxs ¶
func (b *QuaiAPIBackend) AddGenesisPendingEtxs(block *types.WorkObject)
func (*QuaiAPIBackend) AddPendingEtxs ¶
func (b *QuaiAPIBackend) AddPendingEtxs(pEtxs types.PendingEtxs) error
func (*QuaiAPIBackend) AddPendingEtxsRollup ¶
func (b *QuaiAPIBackend) AddPendingEtxsRollup(pEtxsRollup types.PendingEtxsRollup) error
func (*QuaiAPIBackend) AddToCalcOrderCache ¶ added in v0.32.0
func (*QuaiAPIBackend) AddressOutpoints ¶ added in v0.30.0
func (b *QuaiAPIBackend) AddressOutpoints(ctx context.Context, address common.Address) ([]*types.OutpointAndDenomination, error)
func (*QuaiAPIBackend) Append ¶
func (b *QuaiAPIBackend) Append(header *types.WorkObject, manifest types.BlockManifest, domTerminus common.Hash, domOrigin bool, newInboundEtxs types.Transactions) (types.Transactions, error)
func (*QuaiAPIBackend) ApplyPoWFilter ¶ added in v0.32.0
func (b *QuaiAPIBackend) ApplyPoWFilter(wo *types.WorkObject) pubsub.ValidationResult
func (*QuaiAPIBackend) BadHashExistsInChain ¶ added in v0.31.0
func (b *QuaiAPIBackend) BadHashExistsInChain() bool
func (*QuaiAPIBackend) BlockByHash ¶
func (b *QuaiAPIBackend) BlockByHash(ctx context.Context, hash common.Hash) (*types.WorkObject, error)
func (*QuaiAPIBackend) BlockByNumber ¶
func (b *QuaiAPIBackend) BlockByNumber(ctx context.Context, number rpc.BlockNumber) (*types.WorkObject, error)
func (*QuaiAPIBackend) BlockByNumberOrHash ¶
func (b *QuaiAPIBackend) BlockByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*types.WorkObject, error)
func (*QuaiAPIBackend) BlockOrCandidateByHash ¶
func (b *QuaiAPIBackend) BlockOrCandidateByHash(hash common.Hash) *types.WorkObject
func (*QuaiAPIBackend) BloomStatus ¶
func (b *QuaiAPIBackend) BloomStatus() (uint64, uint64)
func (*QuaiAPIBackend) BroadcastBlock ¶
func (b *QuaiAPIBackend) BroadcastBlock(block *types.WorkObject, location common.Location) error
/////////////////////////// /////// P2P /////////////// ///////////////////////////
func (*QuaiAPIBackend) BroadcastHeader ¶
func (b *QuaiAPIBackend) BroadcastHeader(header *types.WorkObject, location common.Location) error
func (*QuaiAPIBackend) BroadcastWorkShare ¶
func (b *QuaiAPIBackend) BroadcastWorkShare(workShare *types.WorkObjectShareView, location common.Location) error
func (*QuaiAPIBackend) CalcOrder ¶
func (b *QuaiAPIBackend) CalcOrder(header *types.WorkObject) (*big.Int, int, error)
CalcOrder returns the order of the block within the hierarchy of chains
func (*QuaiAPIBackend) ChainConfig ¶
func (b *QuaiAPIBackend) ChainConfig() *params.ChainConfig
ChainConfig returns the active chain configuration.
func (*QuaiAPIBackend) ChainDb ¶
func (b *QuaiAPIBackend) ChainDb() ethdb.Database
func (*QuaiAPIBackend) CheckIfValidWorkShare ¶
func (b *QuaiAPIBackend) CheckIfValidWorkShare(workShare *types.WorkObjectHeader) types.WorkShareValidity
func (*QuaiAPIBackend) CheckInCalcOrderCache ¶ added in v0.32.0
func (*QuaiAPIBackend) ComputeEfficiencyScore ¶ added in v0.31.0
func (b *QuaiAPIBackend) ComputeEfficiencyScore(header *types.WorkObject) (uint16, error)
func (*QuaiAPIBackend) ComputeExpansionNumber ¶ added in v0.34.0
func (b *QuaiAPIBackend) ComputeExpansionNumber(parent *types.WorkObject) (uint8, error)
func (*QuaiAPIBackend) Config ¶ added in v0.31.0
func (b *QuaiAPIBackend) Config() *params.ChainConfig
func (*QuaiAPIBackend) ConstructLocalMinedBlock ¶
func (b *QuaiAPIBackend) ConstructLocalMinedBlock(header *types.WorkObject) (*types.WorkObject, error)
func (*QuaiAPIBackend) CurrentBlock ¶
func (b *QuaiAPIBackend) CurrentBlock() *types.WorkObject
func (*QuaiAPIBackend) CurrentHeader ¶
func (b *QuaiAPIBackend) CurrentHeader() *types.WorkObject
func (*QuaiAPIBackend) CurrentLogEntropy ¶
func (b *QuaiAPIBackend) CurrentLogEntropy() *big.Int
CurrentLogEntropy returns the logarithm of the total entropy reduction since genesis for our current head block
func (*QuaiAPIBackend) Database ¶ added in v0.32.0
func (b *QuaiAPIBackend) Database() ethdb.Database
func (*QuaiAPIBackend) DownloadBlocksInManifest ¶
func (b *QuaiAPIBackend) DownloadBlocksInManifest(hash common.Hash, manifest types.BlockManifest, entropy *big.Int)
func (*QuaiAPIBackend) Engine ¶
func (b *QuaiAPIBackend) Engine() consensus.Engine
func (*QuaiAPIBackend) EventMux ¶
func (b *QuaiAPIBackend) EventMux() *event.TypeMux
func (*QuaiAPIBackend) ExtRPCEnabled ¶
func (b *QuaiAPIBackend) ExtRPCEnabled() bool
func (*QuaiAPIBackend) GeneratePendingHeader ¶ added in v0.32.0
func (b *QuaiAPIBackend) GeneratePendingHeader(block *types.WorkObject, fill bool) (*types.WorkObject, error)
func (*QuaiAPIBackend) GenerateRecoveryPendingHeader ¶
func (b *QuaiAPIBackend) GenerateRecoveryPendingHeader(pendingHeader *types.WorkObject, checkpointHashes types.Termini) error
func (*QuaiAPIBackend) GetBlock ¶ added in v0.32.0
func (b *QuaiAPIBackend) GetBlock(hash common.Hash, number uint64) (*types.WorkObject, error)
GetBlock returns the Block for the given block hash
func (*QuaiAPIBackend) GetBlockByHash ¶ added in v0.31.0
func (b *QuaiAPIBackend) GetBlockByHash(hash common.Hash) *types.WorkObject
func (*QuaiAPIBackend) GetExpansionNumber ¶ added in v0.32.0
func (b *QuaiAPIBackend) GetExpansionNumber() uint8
func (*QuaiAPIBackend) GetHeaderByHash ¶ added in v0.31.0
func (b *QuaiAPIBackend) GetHeaderByHash(hash common.Hash) *types.WorkObject
func (*QuaiAPIBackend) GetHeaderByNumber ¶ added in v0.31.0
func (b *QuaiAPIBackend) GetHeaderByNumber(number uint64) *types.WorkObject
func (*QuaiAPIBackend) GetManifest ¶
func (b *QuaiAPIBackend) GetManifest(blockHash common.Hash) (types.BlockManifest, error)
func (*QuaiAPIBackend) GetMaxTxInWorkShare ¶ added in v0.30.0
func (b *QuaiAPIBackend) GetMaxTxInWorkShare() uint64
func (*QuaiAPIBackend) GetMinGasPrice ¶ added in v0.37.0
func (b *QuaiAPIBackend) GetMinGasPrice() *big.Int
func (*QuaiAPIBackend) GetMinerEndpoints ¶ added in v0.32.0
func (b *QuaiAPIBackend) GetMinerEndpoints() []string
func (*QuaiAPIBackend) GetOutpointsByAddressAndRange ¶ added in v0.39.0
func (b *QuaiAPIBackend) GetOutpointsByAddressAndRange(ctx context.Context, address common.Address, start, end uint32) ([]*types.OutpointAndDenomination, error)
func (*QuaiAPIBackend) GetPendingBlockBody ¶ added in v0.30.0
func (b *QuaiAPIBackend) GetPendingBlockBody(woHeader *types.WorkObjectHeader) *types.WorkObject
func (*QuaiAPIBackend) GetPendingEtxsFromSub ¶
func (b *QuaiAPIBackend) GetPendingEtxsFromSub(hash common.Hash, location common.Location) (types.PendingEtxs, error)
func (*QuaiAPIBackend) GetPendingEtxsRollupFromSub ¶
func (b *QuaiAPIBackend) GetPendingEtxsRollupFromSub(hash common.Hash, location common.Location) (types.PendingEtxsRollup, error)
func (*QuaiAPIBackend) GetPendingHeader ¶
func (b *QuaiAPIBackend) GetPendingHeader() (*types.WorkObject, error)
func (*QuaiAPIBackend) GetPoolGasPrice ¶ added in v0.34.0
func (b *QuaiAPIBackend) GetPoolGasPrice() *big.Int
func (*QuaiAPIBackend) GetPoolNonce ¶
func (*QuaiAPIBackend) GetPoolTransaction ¶
func (b *QuaiAPIBackend) GetPoolTransaction(hash common.Hash) *types.Transaction
func (*QuaiAPIBackend) GetPoolTransactions ¶
func (b *QuaiAPIBackend) GetPoolTransactions() (types.Transactions, error)
func (*QuaiAPIBackend) GetPrimeBlock ¶ added in v0.34.0
func (b *QuaiAPIBackend) GetPrimeBlock(blockHash common.Hash) *types.WorkObject
func (*QuaiAPIBackend) GetReceipts ¶
func (*QuaiAPIBackend) GetSlicesRunning ¶
func (b *QuaiAPIBackend) GetSlicesRunning() []common.Location
func (*QuaiAPIBackend) GetSubManifest ¶
func (b *QuaiAPIBackend) GetSubManifest(slice common.Location, blockHash common.Hash) (types.BlockManifest, error)
func (*QuaiAPIBackend) GetTerminiByHash ¶ added in v0.31.0
func (b *QuaiAPIBackend) GetTerminiByHash(hash common.Hash) *types.Termini
func (*QuaiAPIBackend) GetTransaction ¶
func (*QuaiAPIBackend) GetTxsFromBroadcastSet ¶ added in v0.30.0
func (b *QuaiAPIBackend) GetTxsFromBroadcastSet(hash common.Hash) (types.Transactions, error)
func (*QuaiAPIBackend) GetWorkShareThreshold ¶ added in v0.32.0
func (b *QuaiAPIBackend) GetWorkShareThreshold() int
func (*QuaiAPIBackend) HeaderByHash ¶
func (b *QuaiAPIBackend) HeaderByHash(ctx context.Context, hash common.Hash) (*types.WorkObject, error)
func (*QuaiAPIBackend) HeaderByNumber ¶
func (b *QuaiAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*types.WorkObject, error)
func (*QuaiAPIBackend) HeaderByNumberOrHash ¶
func (b *QuaiAPIBackend) HeaderByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*types.WorkObject, error)
func (*QuaiAPIBackend) InsertBlock ¶
func (b *QuaiAPIBackend) InsertBlock(ctx context.Context, block *types.WorkObject) (int, error)
func (*QuaiAPIBackend) IsBlockHashABadHash ¶ added in v0.31.0
func (b *QuaiAPIBackend) IsBlockHashABadHash(hash common.Hash) bool
func (*QuaiAPIBackend) IsGenesisHash ¶ added in v0.31.0
func (b *QuaiAPIBackend) IsGenesisHash(hash common.Hash) bool
func (*QuaiAPIBackend) Logger ¶
func (b *QuaiAPIBackend) Logger() *log.Logger
func (*QuaiAPIBackend) MakeFullPendingHeader ¶ added in v0.32.0
func (b *QuaiAPIBackend) MakeFullPendingHeader(primePh, regionPh, zonePh *types.WorkObject) *types.WorkObject
func (*QuaiAPIBackend) NewGenesisPendingHeader ¶
func (b *QuaiAPIBackend) NewGenesisPendingHeader(pendingHeader *types.WorkObject, domTerminus common.Hash, genesisHash common.Hash) error
func (*QuaiAPIBackend) NodeCtx ¶
func (b *QuaiAPIBackend) NodeCtx() int
func (*QuaiAPIBackend) NodeLocation ¶
func (b *QuaiAPIBackend) NodeLocation() common.Location
func (*QuaiAPIBackend) PendingBlock ¶
func (b *QuaiAPIBackend) PendingBlock() *types.WorkObject
func (*QuaiAPIBackend) PendingBlockAndReceipts ¶
func (b *QuaiAPIBackend) PendingBlockAndReceipts() (*types.WorkObject, types.Receipts)
func (*QuaiAPIBackend) ProcessingState ¶
func (b *QuaiAPIBackend) ProcessingState() bool
func (*QuaiAPIBackend) RPCGasCap ¶
func (b *QuaiAPIBackend) RPCGasCap() uint64
func (*QuaiAPIBackend) RPCTxFeeCap ¶
func (b *QuaiAPIBackend) RPCTxFeeCap() float64
func (*QuaiAPIBackend) RequestDomToAppendOrFetch ¶
func (*QuaiAPIBackend) SanityCheckWorkObjectBlockViewBody ¶ added in v0.31.0
func (b *QuaiAPIBackend) SanityCheckWorkObjectBlockViewBody(wo *types.WorkObject) error
func (*QuaiAPIBackend) SanityCheckWorkObjectHeaderViewBody ¶ added in v0.31.0
func (b *QuaiAPIBackend) SanityCheckWorkObjectHeaderViewBody(wo *types.WorkObject) error
func (*QuaiAPIBackend) SanityCheckWorkObjectShareViewBody ¶ added in v0.31.0
func (b *QuaiAPIBackend) SanityCheckWorkObjectShareViewBody(wo *types.WorkObject) error
func (*QuaiAPIBackend) SendRemoteTx ¶
func (b *QuaiAPIBackend) SendRemoteTx(remoteTx *types.Transaction) error
func (*QuaiAPIBackend) SendRemoteTxs ¶
func (b *QuaiAPIBackend) SendRemoteTxs(remoteTxs types.Transactions) []error
func (*QuaiAPIBackend) SendTx ¶
func (b *QuaiAPIBackend) SendTx(ctx context.Context, signedTx *types.Transaction) error
func (*QuaiAPIBackend) SendTxToSharingClients ¶ added in v0.39.0
func (b *QuaiAPIBackend) SendTxToSharingClients(tx *types.Transaction)
func (*QuaiAPIBackend) SendWorkShare ¶
func (b *QuaiAPIBackend) SendWorkShare(workShare *types.WorkObjectHeader) error
func (*QuaiAPIBackend) ServiceFilter ¶
func (b *QuaiAPIBackend) ServiceFilter(ctx context.Context, session *bloombits.MatcherSession)
func (*QuaiAPIBackend) SetCurrentExpansionNumber ¶
func (b *QuaiAPIBackend) SetCurrentExpansionNumber(expansionNumber uint8)
func (*QuaiAPIBackend) SetDomInterface ¶ added in v0.30.0
func (b *QuaiAPIBackend) SetDomInterface(domInterface core.CoreBackend)
func (*QuaiAPIBackend) SetSubInterface ¶ added in v0.30.0
func (b *QuaiAPIBackend) SetSubInterface(subInterface core.CoreBackend, location common.Location)
func (*QuaiAPIBackend) StateAndHeaderByNumber ¶
func (b *QuaiAPIBackend) StateAndHeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*state.StateDB, *types.WorkObject, error)
func (*QuaiAPIBackend) StateAndHeaderByNumberOrHash ¶
func (b *QuaiAPIBackend) StateAndHeaderByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*state.StateDB, *types.WorkObject, error)
func (*QuaiAPIBackend) StateAtBlock ¶
func (*QuaiAPIBackend) StateAtTransaction ¶
func (b *QuaiAPIBackend) StateAtTransaction(ctx context.Context, block *types.WorkObject, txIndex int, reexec uint64) (core.Message, vm.BlockContext, *state.StateDB, error)
func (*QuaiAPIBackend) SubscribeChainEvent ¶
func (b *QuaiAPIBackend) SubscribeChainEvent(ch chan<- core.ChainEvent) event.Subscription
func (*QuaiAPIBackend) SubscribeChainHeadEvent ¶
func (b *QuaiAPIBackend) SubscribeChainHeadEvent(ch chan<- core.ChainHeadEvent) event.Subscription
func (*QuaiAPIBackend) SubscribeChainSideEvent ¶
func (b *QuaiAPIBackend) SubscribeChainSideEvent(ch chan<- core.ChainSideEvent) event.Subscription
func (*QuaiAPIBackend) SubscribeExpansionEvent ¶
func (b *QuaiAPIBackend) SubscribeExpansionEvent(ch chan<- core.ExpansionEvent) event.Subscription
func (*QuaiAPIBackend) SubscribeLogsEvent ¶
func (b *QuaiAPIBackend) SubscribeLogsEvent(ch chan<- []*types.Log) event.Subscription
func (*QuaiAPIBackend) SubscribePendingHeaderEvent ¶
func (b *QuaiAPIBackend) SubscribePendingHeaderEvent(ch chan<- *types.WorkObject) event.Subscription
func (*QuaiAPIBackend) SubscribePendingLogsEvent ¶
func (b *QuaiAPIBackend) SubscribePendingLogsEvent(ch chan<- []*types.Log) event.Subscription
func (*QuaiAPIBackend) SubscribeRemovedLogsEvent ¶
func (b *QuaiAPIBackend) SubscribeRemovedLogsEvent(ch chan<- core.RemovedLogsEvent) event.Subscription
func (*QuaiAPIBackend) SubscribeUnlocksEvent ¶ added in v0.39.0
func (b *QuaiAPIBackend) SubscribeUnlocksEvent(ch chan<- core.UnlocksEvent) event.Subscription
func (*QuaiAPIBackend) SuggestFinalityDepth ¶ added in v0.32.0
func (*QuaiAPIBackend) TotalLogEntropy ¶ added in v0.33.0
func (b *QuaiAPIBackend) TotalLogEntropy(header *types.WorkObject) *big.Int
TotalLogEntropy returns the total entropy reduction if the chain since genesis to the given header
func (*QuaiAPIBackend) TxMiningEnabled ¶ added in v0.32.0
func (b *QuaiAPIBackend) TxMiningEnabled() bool
func (*QuaiAPIBackend) TxPool ¶
func (b *QuaiAPIBackend) TxPool() *core.TxPool
func (*QuaiAPIBackend) TxPoolContent ¶
func (b *QuaiAPIBackend) TxPoolContent() (map[common.InternalAddress]types.Transactions, map[common.InternalAddress]types.Transactions)
func (*QuaiAPIBackend) TxPoolContentFrom ¶
func (b *QuaiAPIBackend) TxPoolContentFrom(addr common.Address) (types.Transactions, types.Transactions)
func (*QuaiAPIBackend) UTXOsByAddress ¶
func (*QuaiAPIBackend) UpdateEtxEligibleSlices ¶ added in v0.31.0
func (b *QuaiAPIBackend) UpdateEtxEligibleSlices(header *types.WorkObject, location common.Location) common.Hash
func (*QuaiAPIBackend) WorkShareDistance ¶ added in v0.32.0
func (b *QuaiAPIBackend) WorkShareDistance(wo *types.WorkObject, ws *types.WorkObjectHeader) (*big.Int, error)
func (*QuaiAPIBackend) WriteAddressOutpoints ¶ added in v0.31.0
func (b *QuaiAPIBackend) WriteAddressOutpoints(outpoints map[[20]byte][]*types.OutpointAndDenomination) error
func (*QuaiAPIBackend) WriteBlock ¶
func (b *QuaiAPIBackend) WriteBlock(block *types.WorkObject)
func (*QuaiAPIBackend) WriteGenesisBlock ¶
func (b *QuaiAPIBackend) WriteGenesisBlock(block *types.WorkObject, location common.Location)
type QuaiBackend ¶
type QuaiBackend struct {
// contains filtered or unexported fields
}
QuaiBackend implements the quai consensus protocol
func NewQuaiBackend ¶
func NewQuaiBackend() (*QuaiBackend, error)
Create a new instance of the QuaiBackend consensus service
func (*QuaiBackend) AddGenesisPendingEtxs ¶
func (qbe *QuaiBackend) AddGenesisPendingEtxs(block *types.WorkObject, location common.Location)
AddGenesisPendingEtxs adds the genesis pending etxs for the given location
func (*QuaiBackend) GetBackend ¶
func (qbe *QuaiBackend) GetBackend(location common.Location) *quaiapi.Backend
func (*QuaiBackend) GetHeight ¶
func (qbe *QuaiBackend) GetHeight(location common.Location) uint64
Returns the current block height for the given location
func (*QuaiBackend) GetTrieNode ¶
func (qbe *QuaiBackend) GetTrieNode(hash common.Hash, location common.Location) *trie.TrieNodeResponse
GetTrieNode returns the TrieNodeResponse for a given hash
func (*QuaiBackend) LookupBlock ¶
func (qbe *QuaiBackend) LookupBlock(hash common.Hash, location common.Location) *types.WorkObject
func (*QuaiBackend) LookupBlockByNumber ¶ added in v0.31.0
func (qbe *QuaiBackend) LookupBlockByNumber(number *big.Int, location common.Location) *types.WorkObject
func (*QuaiBackend) LookupBlockHashByNumber ¶
func (*QuaiBackend) OnNewBroadcast ¶
func (qbe *QuaiBackend) OnNewBroadcast(sourcePeer p2p.PeerID, Id string, topic string, data interface{}, nodeLocation common.Location) bool
Handle consensus data propagated to us from our peers
func (*QuaiBackend) ProcessingState ¶
func (qbe *QuaiBackend) ProcessingState(location common.Location) bool
func (*QuaiBackend) SetApiBackend ¶
func (qbe *QuaiBackend) SetApiBackend(apiBackend *quaiapi.Backend, location common.Location)
func (*QuaiBackend) SetCurrentExpansionNumber ¶
func (qbe *QuaiBackend) SetCurrentExpansionNumber(expansionNumber uint8)
SetCurrentExpansionNumber sets the expansion number into the slice object on all the backends
func (*QuaiBackend) SetDomInterface ¶ added in v0.30.0
func (qbe *QuaiBackend) SetDomInterface(domInterface core.CoreBackend, nodeLocation common.Location)
SetDomInterface sets the dom interface for the given location
func (*QuaiBackend) SetP2PApiBackend ¶
func (qbe *QuaiBackend) SetP2PApiBackend(p2pBackend NetworkingAPI)
Adds the p2pBackend into the given QuaiBackend
func (*QuaiBackend) SetPrimeApiBackend ¶
func (qbe *QuaiBackend) SetPrimeApiBackend(primeBackend *quaiapi.Backend)
Set the PrimeBackend into the QuaiBackend
func (*QuaiBackend) SetRegionApiBackend ¶
func (qbe *QuaiBackend) SetRegionApiBackend(regionBackend *quaiapi.Backend, location common.Location)
Set the RegionBackend into the QuaiBackend
func (*QuaiBackend) SetSubInterface ¶ added in v0.30.0
func (qbe *QuaiBackend) SetSubInterface(subInterface core.CoreBackend, nodeLocation common.Location, subLocation common.Location)
SetSubInterface sets the sub interface for the given subLocation
func (*QuaiBackend) SetZoneApiBackend ¶
func (qbe *QuaiBackend) SetZoneApiBackend(zoneBackend *quaiapi.Backend, location common.Location)
Set the ZoneBackend into the QuaiBackend
func (*QuaiBackend) WriteGenesisBlock ¶
func (qbe *QuaiBackend) WriteGenesisBlock(block *types.WorkObject, location common.Location)
WriteGenesisBlock adds the genesis block to the database and also writes the block to the disk
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 abi implements the Quai ABI (Application Binary Interface).
|
Package abi implements the Quai ABI (Application Binary Interface). |
Package filters implements an quai filtering system for block, transactions and log events.
|
Package filters implements an quai filtering system for block, transactions and log events. |
Package quaiconfig contains the configuration of the ETH and LES protocols.
|
Package quaiconfig contains the configuration of the ETH and LES protocols. |