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)
 
- 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) SetWorkShareP2PThreshold(threshold int)
 - 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) CalcBaseFee(wo *types.WorkObject) *big.Int
 - 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) ComputeMinerDifficulty(parent *types.WorkObject) *big.Int
 - 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) GetKQuaiAndUpdateBit(blockHash common.Hash) (*big.Int, uint8, error)
 - 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) 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) GetRollingFeeInfo() (min, max, avg *big.Int)
 - 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) GetWorkShareP2PThreshold() int
 - 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) error
 - 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) SetWorkShareP2PThreshold(threshold int)
 - 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 ¶
func (api *PrivateMinerAPI) SetLockupByte(lockupByte hexutil.Uint64) (bool, error)
func (*PrivateMinerAPI) SetMinerPreference ¶
func (api *PrivateMinerAPI) SetMinerPreference(minerPreference string) (bool, error)
func (*PrivateMinerAPI) SetPrimaryCoinbase ¶
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.
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 ¶
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 ¶
func (*Quai) SetWorkShareP2PThreshold ¶
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 ¶
func (*QuaiAPIBackend) AddressOutpoints ¶
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 ¶
func (b *QuaiAPIBackend) ApplyPoWFilter(wo *types.WorkObject) pubsub.ValidationResult
func (*QuaiAPIBackend) BadHashExistsInChain ¶
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) CalcBaseFee ¶
func (b *QuaiAPIBackend) CalcBaseFee(wo *types.WorkObject) *big.Int
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 ¶
func (*QuaiAPIBackend) ComputeEfficiencyScore ¶
func (b *QuaiAPIBackend) ComputeEfficiencyScore(header *types.WorkObject) (uint16, error)
func (*QuaiAPIBackend) ComputeExpansionNumber ¶
func (b *QuaiAPIBackend) ComputeExpansionNumber(parent *types.WorkObject) (uint8, error)
func (*QuaiAPIBackend) ComputeMinerDifficulty ¶
func (b *QuaiAPIBackend) ComputeMinerDifficulty(parent *types.WorkObject) *big.Int
func (*QuaiAPIBackend) Config ¶
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 ¶
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 ¶
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 ¶
func (b *QuaiAPIBackend) GetBlock(hash common.Hash, number uint64) (*types.WorkObject, error)
GetBlock returns the Block for the given block hash
func (*QuaiAPIBackend) GetBlockByHash ¶
func (b *QuaiAPIBackend) GetBlockByHash(hash common.Hash) *types.WorkObject
func (*QuaiAPIBackend) GetExpansionNumber ¶
func (b *QuaiAPIBackend) GetExpansionNumber() uint8
func (*QuaiAPIBackend) GetHeaderByHash ¶
func (b *QuaiAPIBackend) GetHeaderByHash(hash common.Hash) *types.WorkObject
func (*QuaiAPIBackend) GetHeaderByNumber ¶
func (b *QuaiAPIBackend) GetHeaderByNumber(number uint64) *types.WorkObject
func (*QuaiAPIBackend) GetKQuaiAndUpdateBit ¶
func (*QuaiAPIBackend) GetManifest ¶
func (b *QuaiAPIBackend) GetManifest(blockHash common.Hash) (types.BlockManifest, error)
func (*QuaiAPIBackend) GetMaxTxInWorkShare ¶
func (b *QuaiAPIBackend) GetMaxTxInWorkShare() uint64
func (*QuaiAPIBackend) GetMinerEndpoints ¶
func (b *QuaiAPIBackend) GetMinerEndpoints() []string
func (*QuaiAPIBackend) GetOutpointsByAddressAndRange ¶
func (b *QuaiAPIBackend) GetOutpointsByAddressAndRange(ctx context.Context, address common.Address, start, end uint32) ([]*types.OutpointAndDenomination, error)
func (*QuaiAPIBackend) GetPendingBlockBody ¶
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 ¶
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 ¶
func (b *QuaiAPIBackend) GetPrimeBlock(blockHash common.Hash) *types.WorkObject
func (*QuaiAPIBackend) GetReceipts ¶
func (*QuaiAPIBackend) GetRollingFeeInfo ¶
func (b *QuaiAPIBackend) GetRollingFeeInfo() (min, max, avg *big.Int)
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 ¶
func (b *QuaiAPIBackend) GetTerminiByHash(hash common.Hash) *types.Termini
func (*QuaiAPIBackend) GetTransaction ¶
func (*QuaiAPIBackend) GetTxsFromBroadcastSet ¶
func (b *QuaiAPIBackend) GetTxsFromBroadcastSet(hash common.Hash) (types.Transactions, error)
func (*QuaiAPIBackend) GetWorkShareP2PThreshold ¶
func (b *QuaiAPIBackend) GetWorkShareP2PThreshold() int
func (*QuaiAPIBackend) GetWorkShareThreshold ¶
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 ¶
func (b *QuaiAPIBackend) IsBlockHashABadHash(hash common.Hash) bool
func (*QuaiAPIBackend) IsGenesisHash ¶
func (b *QuaiAPIBackend) IsGenesisHash(hash common.Hash) bool
func (*QuaiAPIBackend) Logger ¶
func (b *QuaiAPIBackend) Logger() *log.Logger
func (*QuaiAPIBackend) MakeFullPendingHeader ¶
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 ¶
func (b *QuaiAPIBackend) SanityCheckWorkObjectBlockViewBody(wo *types.WorkObject) error
func (*QuaiAPIBackend) SanityCheckWorkObjectHeaderViewBody ¶
func (b *QuaiAPIBackend) SanityCheckWorkObjectHeaderViewBody(wo *types.WorkObject) error
func (*QuaiAPIBackend) SanityCheckWorkObjectShareViewBody ¶
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 ¶
func (b *QuaiAPIBackend) SendTxToSharingClients(tx *types.Transaction) error
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 ¶
func (b *QuaiAPIBackend) SetDomInterface(domInterface core.CoreBackend)
func (*QuaiAPIBackend) SetSubInterface ¶
func (b *QuaiAPIBackend) SetSubInterface(subInterface core.CoreBackend, location common.Location)
func (*QuaiAPIBackend) SetWorkShareP2PThreshold ¶
func (b *QuaiAPIBackend) SetWorkShareP2PThreshold(threshold int)
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 ¶
func (b *QuaiAPIBackend) SubscribeUnlocksEvent(ch chan<- core.UnlocksEvent) event.Subscription
func (*QuaiAPIBackend) SuggestFinalityDepth ¶
func (*QuaiAPIBackend) TotalLogEntropy ¶
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 ¶
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 ¶
func (b *QuaiAPIBackend) UpdateEtxEligibleSlices(header *types.WorkObject, location common.Location) common.Hash
func (*QuaiAPIBackend) WorkShareDistance ¶
func (b *QuaiAPIBackend) WorkShareDistance(wo *types.WorkObject, ws *types.WorkObjectHeader) (*big.Int, error)
func (*QuaiAPIBackend) WriteAddressOutpoints ¶
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 ¶
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 ¶
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 ¶
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. |