Documentation ¶
Overview ¶
Package miner implements Ethereum block creation and mining.
Index ¶
- type Agent
- type Backend
- type Config
- type CpuAgent
- type Miner
- func (self *Miner) HashRate() (tot int64)
- func (self *Miner) Mining() bool
- func (self *Miner) Pending() (*types.Block, *state.StateDB, *state.StateDB)
- func (self *Miner) PendingBlock() *types.Block
- func (self *Miner) Register(agent Agent)
- func (self *Miner) SetEtherbase(addr common.Address)
- func (self *Miner) SetExtra(extra []byte) error
- func (self *Miner) SetRecommitInterval(interval time.Duration)
- func (self *Miner) Start(coinbase common.Address)
- func (self *Miner) Stop()
- func (self *Miner) Unregister(agent Agent)
- type Result
- type Work
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Agent ¶
type Agent interface { Work() chan<- *Work SetReturnCh(chan<- *Result) Stop() Start() GetHashRate() int64 }
Agent can register themself with the worker
type Backend ¶
type Backend interface { AccountManager() *accounts.Manager BlockChain() *core.BlockChain TxPool() *core.TxPool ChainDb() ethdb.Database }
Backend wraps all methods required for mining.
type Config ¶
type Config struct { Etherbase common.Address `toml:",omitempty"` // Public address for block mining rewards (default = first account) Notify []string `toml:",omitempty"` // HTTP URL list to be notified of new work packages(only useful in ethash). ExtraData hexutil.Bytes `toml:",omitempty"` // Block extra data set by the miner GasFloor uint64 // Target gas floor for mined blocks. GasCeil uint64 // Target gas ceiling for mined blocks. GasPrice *big.Int // Minimum gas price for mining a transaction Recommit time.Duration // The time interval for miner to re-create mining work. Noverify bool // Disable remote mining solution verification(only useful in ethash). }
Config is the configuration parameters of mining.
type CpuAgent ¶
type CpuAgent struct {
// contains filtered or unexported fields
}
func NewCpuAgent ¶
func NewCpuAgent(chain consensus.ChainReader, engine consensus.Engine) *CpuAgent
func (*CpuAgent) GetHashRate ¶
func (*CpuAgent) SetReturnCh ¶
type Miner ¶
type Miner struct {
// contains filtered or unexported fields
}
Miner creates blocks and searches for proof-of-work values.
func (*Miner) PendingBlock ¶
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 (*Miner) SetRecommitInterval ¶
SetRecommitInterval sets the interval for sealing work resubmitting.
func (*Miner) Unregister ¶
Click to show internal directories.
Click to hide internal directories.