Documentation ¶
Overview ¶
Package miner implements Ethereum block creation and mining.
Index ¶
- type Agent
- type Backend
- type CpuAgent
- type Miner
- func (m *Miner) GasPrice() *big.Int
- func (self *Miner) HashRate() (tot int64)
- func (self *Miner) Mining() bool
- func (self *Miner) Pending() (*types.Block, *state.StateDB)
- func (self *Miner) Register(agent Agent)
- func (self *Miner) SetEtherbase(addr common.Address)
- func (self *Miner) SetExtra(extra []byte) error
- func (m *Miner) SetGasPrice(price *big.Int)
- func (self *Miner) Start(coinbase common.Address, threads int)
- func (self *Miner) Stop()
- func (self *Miner) Unregister(agent Agent)
- type RemoteAgent
- func (a *RemoteAgent) GetHashRate() (tot int64)
- func (a *RemoteAgent) GetWork() ([3]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 uint64, mixDigest, hash common.Hash) bool
- func (a *RemoteAgent) Work() chan<- *Work
- 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 ¶ added in v1.5.0
type Backend interface { AccountManager() *accounts.Manager BlockChain() *core.BlockChain TxPool() *core.TxPool ChainDb() ethdb.Database }
Backend wraps all methods required for mining.
type CpuAgent ¶
type CpuAgent struct {
// contains filtered or unexported fields
}
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) Pending ¶ added in v1.4.0
Pending returns the currently pending block and associated state.
func (*Miner) SetEtherbase ¶
func (*Miner) SetGasPrice ¶
func (*Miner) Unregister ¶ added in v1.3.1
type RemoteAgent ¶
type RemoteAgent struct {
// contains filtered or unexported fields
}
func NewRemoteAgent ¶
func NewRemoteAgent() *RemoteAgent
func (*RemoteAgent) GetHashRate ¶
func (a *RemoteAgent) GetHashRate() (tot int64)
GetHashRate returns the accumulated hashrate of all identifier combined
func (*RemoteAgent) GetWork ¶
func (a *RemoteAgent) GetWork() ([3]string, error)
func (*RemoteAgent) SetReturnCh ¶
func (a *RemoteAgent) SetReturnCh(returnCh chan<- *Result)
func (*RemoteAgent) Start ¶
func (a *RemoteAgent) Start()
func (*RemoteAgent) Stop ¶
func (a *RemoteAgent) Stop()
func (*RemoteAgent) SubmitHashrate ¶ added in v1.1.0
func (a *RemoteAgent) SubmitHashrate(id common.Hash, rate uint64)
func (*RemoteAgent) SubmitWork ¶
func (a *RemoteAgent) SubmitWork(nonce uint64, mixDigest, hash common.Hash) bool
Returns true or false, but does not indicate if the PoW was correct
func (*RemoteAgent) Work ¶
func (a *RemoteAgent) Work() chan<- *Work
Click to show internal directories.
Click to hide internal directories.