consensus

package
v1.0.9 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2020 License: GPL-3.0, GPL-3.0 Imports: 10 Imported by: 0

Documentation

Overview

Package consensus implements different PalletOne consensus engines.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdapterJury

type AdapterJury struct {
	Processor *jury.Processor
}

func (*AdapterJury) AdapterFunRequest

func (a *AdapterJury) AdapterFunRequest(reqId common.Hash, contractId common.Address, msgType uint32,
	consultContent []byte, myAnswer []byte) ([]byte, error)

func (*AdapterJury) AdapterFunResult

func (a *AdapterJury) AdapterFunResult(reqId common.Hash, contractId common.Address, msgType uint32,
	consultContent []byte, timeOut time.Duration) ([]byte, error)

func (*AdapterJury) GetLocalJuryAddrs added in v1.0.3

func (a *AdapterJury) GetLocalJuryAddrs() []common.Address

type ContractInf

type ContractInf interface {
	SubscribeContractEvent(ch chan<- jury.ContractEvent) event.Subscription

	ProcessUserContractInvokeReqTx(tx *modules.Transaction)
	ProcessContractEvent(event *jury.ContractEvent) (broadcast bool, err error)
	ProcessElectionEvent(event *jury.ElectionEvent) (err error)
	ProcessAdapterEvent(event *jury.AdapterEvent) (result *jury.AdapterEvent, err error)

	CheckContractTxValid(rwM rwset.TxManager, tx *modules.Transaction, execute bool) bool
	AddLocalTx(tx *modules.Transaction) error
}

type DPOSEngine

type DPOSEngine struct {
	// contains filtered or unexported fields
}

func New

func New(dag dag.IDag, txpool txspool.ITxPool) *DPOSEngine

func (*DPOSEngine) Engine

func (engine *DPOSEngine) Engine() int

func (*DPOSEngine) SendEvents

func (engine *DPOSEngine) SendEvents(content []byte)

func (*DPOSEngine) Stop

func (engine *DPOSEngine) Stop()

func (*DPOSEngine) SubscribeCeEvent

func (engine *DPOSEngine) SubscribeCeEvent(ch chan<- core.ConsensusEvent) event.Subscription

type Engine

type Engine interface {
}

Engine is an algorithm agnostic consensus engine.

Directories

Path Synopsis
* @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018
* @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018
vrf
* @author PalletOne core developers <dev@pallet.one> * @date 2018
* @author PalletOne core developers <dev@pallet.one> * @date 2018
vrf/algorithm
* @author PalletOne core developers <dev@pallet.one> * @date 2018
* @author PalletOne core developers <dev@pallet.one> * @date 2018
vrf/inf
* @author PalletOne core developers <dev@pallet.one> * @date 2018
* @author PalletOne core developers <dev@pallet.one> * @date 2018
vrf/vrfEc
* @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018
* @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018
vrf/vrfEs
* @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018
* @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018
vrf/vrfEss
* @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018
* @author PalletOne core developers <dev@pallet.one> * @date 2018 * @author PalletOne core developers <dev@pallet.one> * @date 2018

Jump to

Keyboard shortcuts

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