miner

package
v1.0.0-alpha Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2018 License: GPL-3.0 Imports: 23 Imported by: 0

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

View Source
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 E_EFuncs

type E_EFuncs func()

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.BlockIntf) bool) *Miner

func (*Miner) Close added in v1.8.14

func (self *Miner) Close()

func (*Miner) HashRate

func (self *Miner) HashRate() uint64

func (*Miner) Mining

func (self *Miner) Mining() bool

func (*Miner) Pending added in v1.4.0

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

Pending returns the currently pending block and associated state.

func (*Miner) PendingBlock

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

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 added in v1.8.14

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

SetRecommitInterval sets the interval for sealing work resubmitting.

func (*Miner) SetupShardExps

func (self *Miner) SetupShardExps(exp uint16, enabled [32]byte)

func (*Miner) Start

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

func (*Miner) Stop

func (self *Miner) Stop()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL