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) PendingBlock() *types.Block
- 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 ¶ added in v0.9.39
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 CpuAgent ¶ added in v0.9.39
type CpuAgent struct {
// contains filtered or unexported fields
}
func (*CpuAgent) GetHashRate ¶ added in v0.9.39
func (*CpuAgent) SetReturnCh ¶ added in v0.9.39
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) SetGasPrice ¶ added in v0.9.39
func (*Miner) Unregister ¶ added in v1.3.1
type RemoteAgent ¶ added in v0.9.39
type RemoteAgent struct {
// contains filtered or unexported fields
}
func NewRemoteAgent ¶ added in v0.9.39
func NewRemoteAgent() *RemoteAgent
func (*RemoteAgent) GetHashRate ¶ added in v0.9.39
func (a *RemoteAgent) GetHashRate() (tot int64)
GetHashRate returns the accumulated hashrate of all identifier combined
func (*RemoteAgent) GetWork ¶ added in v0.9.39
func (a *RemoteAgent) GetWork() ([3]string, error)
func (*RemoteAgent) SetReturnCh ¶ added in v0.9.39
func (a *RemoteAgent) SetReturnCh(returnCh chan<- *Result)
func (*RemoteAgent) Start ¶ added in v0.9.39
func (a *RemoteAgent) Start()
func (*RemoteAgent) Stop ¶ added in v0.9.39
func (a *RemoteAgent) Stop()
func (*RemoteAgent) SubmitHashrate ¶ added in v1.1.0
func (a *RemoteAgent) SubmitHashrate(id common.Hash, rate uint64)
func (*RemoteAgent) SubmitWork ¶ added in v0.9.39
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 ¶ added in v0.9.39
func (a *RemoteAgent) Work() chan<- *Work
Click to show internal directories.
Click to hide internal directories.