Package miner implements Ethereum block creation and mining.



    This section is empty.


    This section is empty.


    This section is empty.


    type Backend

    type Backend interface {
    	BlockChain() *core.BlockChain
    	TxPool() *core.TxPool

      Backend wraps all methods required for mining.

      type Miner

      type Miner struct {
      	// contains filtered or unexported fields

        Miner creates blocks and searches for proof-of-work values.

        func New

        func New(eth Backend, config *params.ChainConfig, mux *event.TypeMux, engine consensus.Engine, recommit time.Duration, gasFloor, gasCeil uint64, isLocalBlock func(block *types.Block) bool) *Miner

        func (*Miner) Close

        func (self *Miner) Close()

        func (*Miner) HashRate

        func (self *Miner) HashRate() uint64

        func (*Miner) Mining

        func (self *Miner) Mining() bool

        func (*Miner) Pending

        func (self *Miner) Pending() (*types.Block, *state.StateDB)

          Pending returns the currently pending block and associated state.

          func (*Miner) PendingBlock

          func (self *Miner) PendingBlock() *types.Block

            PendingBlock returns the currently pending block.

            Note, to access both the pending block and the pending state simultaneously, please use Pending(), as the pending state can change between multiple method calls

            func (*Miner) SetEtherbase

            func (self *Miner) SetEtherbase(addr common.Address)

            func (*Miner) SetExtra

            func (self *Miner) SetExtra(extra []byte) error

            func (*Miner) SetRecommitInterval

            func (self *Miner) SetRecommitInterval(interval time.Duration)

              SetRecommitInterval sets the interval for sealing work resubmitting.

              func (*Miner) Start

              func (self *Miner) Start(coinbase common.Address)

              func (*Miner) Stop

              func (self *Miner) Stop()