Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var NewIndexerFuncName = "NewIndexer"
NewIndexerFuncName plugin looks up name.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// Used by dex/backend init flow.
Enable bool
// Plugin path for building components.
Plugin string
// PluginFlags for construction if needed.
PluginFlags string
// The genesis block from dex.Config
Genesis *core.Genesis
// Protocol options from dex.Config (partial)
NetworkID uint64
SyncMode downloader.SyncMode
}
Config is data sources related configs struct.
type Indexer ¶
type Indexer interface {
// Start is called by dex.Dexon if config is set.
Start() error
// Stop is called by dex.Dexon if config is set and procedure is
// terminating.
Stop() error
}
Indexer defines indexer daemon interface. The daemon would hold a core.Blockhain, passed by initialization function, to receiving latest block event or other information query and interaction.
func NewIndexerFromConfig ¶
func NewIndexerFromConfig(bc ReadOnlyBlockChain, c Config) (idx Indexer)
NewIndexerFromConfig initialize exporter according to given config.
type NewIndexerFunc ¶
type NewIndexerFunc = func(ReadOnlyBlockChain, Config) Indexer
NewIndexerFunc init function alias.
type ROBlockChain ¶
type ROBlockChain struct {
// contains filtered or unexported fields
}
ROBlockChain struct for safe read.
type ReadOnlyBlockChain ¶
type ReadOnlyBlockChain interface {
BadBlocks() []*types.Block
Config() *params.ChainConfig
CurrentBlock() *types.Block
CurrentFastBlock() *types.Block
CurrentHeader() *types.Header
Engine() consensus.Engine
GasLimit() uint64
Genesis() *types.Block
GetAncestor(common.Hash, uint64, uint64, *uint64) (common.Hash, uint64)
GetBlock(common.Hash, uint64) *types.Block
GetBlockByHash(common.Hash) *types.Block
GetBlockByNumber(uint64) *types.Block
GetBlockHashesFromHash(common.Hash, uint64) []common.Hash
GetBlocksFromHash(common.Hash, int) (blocks []*types.Block)
GetBody(common.Hash) *types.Body
GetBodyRLP(common.Hash) rlp.RawValue
GetGovStateByHash(common.Hash) (*types.GovState, error)
GetGovStateByNumber(uint64) (*types.GovState, error)
GetHeader(common.Hash, uint64) *types.Header
GetHeaderByHash(common.Hash) *types.Header
GetHeaderByNumber(number uint64) *types.Header
GetReceiptsByHash(common.Hash) types.Receipts
GetRoundHeight(uint64) (uint64, bool)
GetTd(common.Hash, uint64) *big.Int
GetTdByHash(common.Hash) *big.Int
GetUnclesInChain(*types.Block, int) []*types.Header
GetVMConfig() *vm.Config
HasBlock(common.Hash, uint64) bool
HasBlockAndState(common.Hash, uint64) bool
HasHeader(common.Hash, uint64) bool
HasState(common.Hash) bool
Processor() core.Processor
State() (*state.StateDB, error)
StateAt(root common.Hash) (*state.StateDB, error)
StateCache() state.Database
SubscribeChainEvent(chan<- core.ChainEvent) event.Subscription
SubscribeChainHeadEvent(chan<- core.ChainHeadEvent) event.Subscription
SubscribeChainSideEvent(chan<- core.ChainSideEvent) event.Subscription
SubscribeLogsEvent(chan<- []*types.Log) event.Subscription
SubscribeRemovedLogsEvent(chan<- core.RemovedLogsEvent) event.Subscription
}
ReadOnlyBlockChain defines safe reading blockchain interface by removing write methods of core.BlockChain struct.
func NewROBlockChain ¶
func NewROBlockChain(bc *core.BlockChain) ReadOnlyBlockChain
NewROBlockChain converts original block chain to readonly interface.
Click to show internal directories.
Click to hide internal directories.