Versions in this module Expand all Collapse all v1 v1.1.3 Feb 13, 2020 Changes in this version + const DATASETHEADLENGH + const UPDATABLOCKLENGTH + type Agent interface + GetHashRate func() int64 + SetReturnCh func(chan<- *Result) + Start func() + Stop func() + Work func() chan<- *Work + type Backend interface + AccountManager func() *accounts.Manager + BlockChain func() *core.BlockChain + ChainDb func() etruedb.Database + SnailBlockChain func() *snailchain.SnailBlockChain + SnailPool func() *snailchain.SnailPool + TxPool func() *core.TxPool + type CPUAgent struct + func NewCPUAgent(chain consensus.SnailChainReader, engine consensus.Engine) *CPUAgent + func (agent *CPUAgent) GetHashRate() int64 + func (agent *CPUAgent) SetReturnCh(ch chan<- *Result) + func (agent *CPUAgent) Start() + func (agent *CPUAgent) Stop() + func (agent *CPUAgent) Work() chan<- *Work + type CommitteeElection interface + GetCommittee func(fastNumber *big.Int) []*types.CommitteeMember + IsCommitteeMember func(members []*types.CommitteeMember, publickey []byte) bool + SubscribeElectionEvent func(ch chan<- types.ElectionEvent) event.Subscription + VerifySigns func(pvs []*types.PbftSign) ([]*types.CommitteeMember, []error) + type Miner struct + func New(truechain Backend, config *params.ChainConfig, mux *event.TypeMux, ...) *Miner + func (miner *Miner) GetCurrentBlock() *types.SnailBlock + func (miner *Miner) HashRate() (tot int64) + func (miner *Miner) Mining() bool + func (miner *Miner) Pending() (*types.Block, *state.StateDB) + func (miner *Miner) PendingBlock() *types.Block + func (miner *Miner) PendingSnail() (*types.SnailBlock, *state.StateDB) + func (miner *Miner) PendingSnailBlock() *types.SnailBlock + func (miner *Miner) Register(agent Agent) + func (miner *Miner) SetElection(toElect bool, pubkey []byte) + func (miner *Miner) SetEtherbase(addr common.Address) + func (miner *Miner) SetExtra(extra []byte) error + func (miner *Miner) SetFruitOnly(FruitOnly bool) + func (miner *Miner) SetShouldStartMining(start bool) + func (miner *Miner) Start(coinbase common.Address) + func (miner *Miner) Stop() + func (miner *Miner) Unregister(agent Agent) + type RemoteAgent struct + func NewRemoteAgent(chain consensus.ChainReader, snailchain consensus.SnailChainReader, ...) *RemoteAgent + func (a *RemoteAgent) CompletionHexString(n int, src string) string + func (a *RemoteAgent) GetDataset() ([DATASETHEADLENGH]string, error) + func (a *RemoteAgent) GetDatasetBySeedHash(seedHash string) ([DATASETHEADLENGH]string, error) + func (a *RemoteAgent) GetHashRate() (tot int64) + func (a *RemoteAgent) GetWork() ([4]string, error) + func (a *RemoteAgent) SetReturnCh(returnCh chan<- *Result) + func (a *RemoteAgent) Start() + func (a *RemoteAgent) Stop() + func (a *RemoteAgent) SubmitHashrate(id common.Hash, rate uint64) + func (a *RemoteAgent) SubmitWork(nonce types.BlockNonce, mixDigest, hash common.Hash) bool + func (a *RemoteAgent) Work() chan<- *Work + type Result struct + Block *types.SnailBlock + Work *Work + type Work struct + Block *types.SnailBlock