Documentation ¶
Overview ¶
Package miner implements Ethereum block creation and mining.
Copyright 2015 The go-ethereum Authors This file is part of the go-ethereum library.
The go-ethereum library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The go-ethereum library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. **
如果是子链分片节点,关心txsch和chainHead通道(Header的ShardId和自身的一致) 如果是主链节点,关心的是shardInfo和chainHead通道(Header的ShardId和自身的一致)
Index ¶
- Constants
- type Backend
- type E_EFuncs
- type Miner
- func (self *Miner) Close()
- func (self *Miner) HashRate() uint64
- func (self *Miner) Mining() bool
- func (self *Miner) Pending() (types.BlockIntf, *state.StateDB)
- func (self *Miner) PendingBlock() types.BlockIntf
- func (self *Miner) SetEtherbase(addr common.Address)
- func (self *Miner) SetExtra(extra []byte) error
- func (self *Miner) SetRecommitInterval(interval time.Duration)
- func (self *Miner) SetupShardExps(exp uint16, enabled [32]byte)
- func (self *Miner) Start(coinbase common.Address)
- func (self *Miner) Stop()
Constants ¶
const ( ST_IDLE = uint8(0) ST_MASTER = 1 ST_SHARD = 2 ST_RESETING = 3 ST_INSERTING = 4 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backend ¶ added in v1.5.0
type Backend interface { BlockChain() *core.BlockChain TxPool() core.TxPoolIntf ShardPool() *qchain.ShardChainPool ChainDb() ethdb.Database }
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 (*Miner) Pending ¶ added in v1.4.0
Pending returns the currently pending block and associated state.
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 ¶ added in v1.8.14
SetRecommitInterval sets the interval for sealing work resubmitting.