node

package
v0.31.12 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2020 License: Apache-2.0 Imports: 42 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultDBProvider added in v0.15.0

func DefaultDBProvider(ctx *DBContext) (dbm.DB, error)

DefaultDBProvider returns a database using the DBBackend and DBDir specified in the ctx.Config.

func LoadStateFromDBOrGenesisDocProvider

func LoadStateFromDBOrGenesisDocProvider(stateDB dbm.DB, genesisDocProvider GenesisDocProvider) (sm.State, *types.GenesisDoc, error)

LoadStateFromDBOrGenesisDocProvider attempts to load the state from the database, or creates one using the given genesisDocProvider and persists the result to the database. On success this also returns the genesis doc loaded through the given provider.

Types

type DBContext added in v0.15.0

type DBContext struct {
	ID     string
	Config *cfg.Config
}

DBContext specifies config information for loading a new DB.

type DBProvider added in v0.15.0

type DBProvider func(*DBContext) (dbm.DB, error)

DBProvider takes a DBContext and returns an instantiated DB.

type GenesisDocProvider added in v0.15.0

type GenesisDocProvider func() (*types.GenesisDoc, error)

GenesisDocProvider returns a GenesisDoc. It allows the GenesisDoc to be pulled from sources other than the filesystem, for instance from a distributed key-value store cluster.

func DefaultGenesisDocProviderFunc added in v0.15.0

func DefaultGenesisDocProviderFunc(config *cfg.Config) GenesisDocProvider

DefaultGenesisDocProviderFunc returns a GenesisDocProvider that loads the GenesisDoc from the config.GenesisFile() on the filesystem.

type MetricsProvider added in v0.26.0

type MetricsProvider func(chainID string) (*cs.Metrics, *p2p.Metrics, *mempl.Metrics, *sm.Metrics)

MetricsProvider returns a consensus, p2p and mempool Metrics.

func DefaultMetricsProvider added in v0.26.0

func DefaultMetricsProvider(config *cfg.InstrumentationConfig) MetricsProvider

DefaultMetricsProvider returns Metrics build using Prometheus client library if Prometheus is enabled. Otherwise, it returns no-op Metrics.

type Node

type Node struct {
	cmn.BaseService
	// contains filtered or unexported fields
}

Node is the highest level interface to a full Tendermint node. It includes all configuration information and running services.

func DefaultNewNode added in v0.15.0

func DefaultNewNode(config *cfg.Config, logger log.Logger) (*Node, error)

DefaultNewNode returns a Tendermint node with default settings for the PrivValidator, ClientCreator, GenesisDoc, and DBProvider. It implements NodeProvider.

func NewNode

func NewNode(config *cfg.Config,
	privValidator types.PrivValidator,
	nodeKey *p2p.NodeKey,
	clientCreator proxy.ClientCreator,
	genesisDocProvider GenesisDocProvider,
	dbProvider DBProvider,
	metricsProvider MetricsProvider,
	logger log.Logger) (*Node, error)

NewNode returns a new, ready to go, Tendermint Node.

func (*Node) BlockStore

func (n *Node) BlockStore() *bc.BlockStore

BlockStore returns the Node's BlockStore.

func (*Node) Config added in v0.31.1

func (n *Node) Config() *cfg.Config

Config returns the Node's config.

func (*Node) ConfigureRPC added in v0.9.2

func (n *Node) ConfigureRPC()

ConfigureRPC sets all variables in rpccore so they will serve rpc calls from this node

func (*Node) ConsensusReactor

func (n *Node) ConsensusReactor() *cs.ConsensusReactor

ConsensusReactor returns the Node's ConsensusReactor.

func (*Node) ConsensusState

func (n *Node) ConsensusState() *cs.ConsensusState

ConsensusState returns the Node's ConsensusState.

func (*Node) EventBus added in v0.15.0

func (n *Node) EventBus() *types.EventBus

EventBus returns the Node's EventBus.

func (*Node) EvidencePool added in v0.15.0

func (n *Node) EvidencePool() *evidence.EvidencePool

EvidencePool returns the Node's EvidencePool.

func (*Node) GenesisDoc added in v0.9.2

func (n *Node) GenesisDoc() *types.GenesisDoc

GenesisDoc returns the Node's GenesisDoc.

func (*Node) IsListening added in v0.26.0

func (n *Node) IsListening() bool

func (*Node) Listeners added in v0.26.0

func (n *Node) Listeners() []string

func (*Node) Mempool

func (n *Node) Mempool() mempl.Mempool

Mempool returns the Node's mempool.

func (*Node) MempoolReactor

func (n *Node) MempoolReactor() *mempl.Reactor

MempoolReactor returns the Node's mempool reactor.

func (*Node) NodeInfo

func (n *Node) NodeInfo() p2p.NodeInfo

NodeInfo returns the Node's Info from the Switch.

func (*Node) OnStart added in v0.9.2

func (n *Node) OnStart() error

OnStart starts the Node. It implements cmn.Service.

func (*Node) OnStop added in v0.9.2

func (n *Node) OnStop()

OnStop stops the Node. It implements cmn.Service.

func (*Node) PEXReactor

func (n *Node) PEXReactor() *pex.PEXReactor

PEXReactor returns the Node's PEXReactor. It returns nil if PEX is disabled.

func (*Node) PrivValidator

func (n *Node) PrivValidator() types.PrivValidator

PrivValidator returns the Node's PrivValidator. XXX: for convenience only!

func (*Node) ProxyApp added in v0.9.2

func (n *Node) ProxyApp() proxy.AppConns

ProxyApp returns the Node's AppConns, representing its connections to the ABCI application.

func (*Node) Switch

func (n *Node) Switch() *p2p.Switch

Switch returns the Node's Switch.

type NodeGreeting

type NodeGreeting struct {
	NodeID
	Version string
	ChainID string
	Message string
	Time    time.Time
}

type NodeID

type NodeID struct {
	Name   string
	PubKey crypto.PubKey
}

type NodeProvider added in v0.15.0

type NodeProvider func(*cfg.Config, log.Logger) (*Node, error)

NodeProvider takes a config and a logger and returns a ready to go Node.

type PrivNodeID

type PrivNodeID struct {
	NodeID
	PrivKey crypto.PrivKey
}

func (*PrivNodeID) SignGreeting

func (pnid *PrivNodeID) SignGreeting() *SignedNodeGreeting

type SignedNodeGreeting

type SignedNodeGreeting struct {
	NodeGreeting
	Signature []byte
}

Jump to

Keyboard shortcuts

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