burrow: github.com/hyperledger/burrow/core Index | Files

package core

import "github.com/hyperledger/burrow/core"

Index

Package Files

config.go kernel.go processes.go

Constants

const (
    CooldownTime           = 1000 * time.Millisecond
    ServerShutdownTimeout  = 5000 * time.Millisecond
    LoggingCallerDepth     = 5
    AccountsRingMutexCount = 100
    BurrowDBName           = "burrow_state"
)
const (
    ProfilingProcessName   = "Profiling"
    DatabaseProcessName    = "Database"
    NoConsensusProcessName = "NoConsensusExecution"
    TendermintProcessName  = "Tendermint"
    StartupProcessName     = "StartupAnnouncer"
    Web3ProcessName        = "rpcConfig/web3"
    InfoProcessName        = "rpcConfig/info"
    GRPCProcessName        = "rpcConfig/GRPC"
    MetricsProcessName     = "rpcConfig/metrics"
)

func DatabaseLauncher Uses

func DatabaseLauncher(kern *Kernel) process.Launcher

func DefaultProcessLaunchers Uses

func DefaultProcessLaunchers(kern *Kernel, rpcConfig *rpc.RPCConfig, keysConfig *keys.KeysConfig) []process.Launcher

func GRPCLauncher Uses

func GRPCLauncher(kern *Kernel, conf *rpc.ServerConfig, keyConfig *keys.KeysConfig) process.Launcher

func InfoLauncher Uses

func InfoLauncher(kern *Kernel, conf *rpc.ServerConfig) process.Launcher

func MetricsLauncher Uses

func MetricsLauncher(kern *Kernel, conf *rpc.MetricsConfig) process.Launcher

func NoConsensusLauncher Uses

func NoConsensusLauncher(kern *Kernel) process.Launcher

Run a single uncoordinated local state

func ProfileLauncher Uses

func ProfileLauncher(kern *Kernel, conf *rpc.ServerConfig) process.Launcher

func StartupLauncher Uses

func StartupLauncher(kern *Kernel) process.Launcher

func TendermintLauncher Uses

func TendermintLauncher(kern *Kernel) process.Launcher

func Web3Launcher Uses

func Web3Launcher(kern *Kernel, conf *rpc.ServerConfig) process.Launcher

type Kernel Uses

type Kernel struct {
    // Expose these public-facing interfaces to allow programmatic extension of the Kernel by other projects
    Emitter    *event.Emitter
    Service    *rpc.Service
    EthService *rpc.EthService
    Launchers  []process.Launcher
    State      *state.State
    Blockchain *bcm.Blockchain
    Node       *tendermint.Node
    Transactor *execution.Transactor
    RunID      simpleuuid.UUID // Time-based UUID randomly generated each time Burrow is started
    Logger     *logging.Logger
    // contains filtered or unexported fields
}

Kernel is the root structure of Burrow

func LoadKernelFromConfig Uses

func LoadKernelFromConfig(conf *config.BurrowConfig) (*Kernel, error)

LoadKernelFromConfig builds and returns a Kernel based solely on the supplied configuration

func NewKernel Uses

func NewKernel(dbDir string) (*Kernel, error)

NewKernel initializes an empty kernel

func (*Kernel) AddExecutionOptions Uses

func (kern *Kernel) AddExecutionOptions(opts ...execution.Option)

AddExecutionOptions extends our execution options

func (*Kernel) AddProcesses Uses

func (kern *Kernel) AddProcesses(pl ...process.Launcher)

AddProcesses extends the services that we launch at boot

func (*Kernel) Boot Uses

func (kern *Kernel) Boot() (err error)

Boot the kernel starting Tendermint and RPC layers

func (*Kernel) GRPCListenAddress Uses

func (kern *Kernel) GRPCListenAddress() net.Addr

func (*Kernel) GetNodeView Uses

func (kern *Kernel) GetNodeView() (*tendermint.NodeView, error)

GetNodeView builds and returns a wrapper of our tendermint node

func (*Kernel) InfoListenAddress Uses

func (kern *Kernel) InfoListenAddress() net.Addr

func (*Kernel) LoadDump Uses

func (kern *Kernel) LoadDump(genesisDoc *genesis.GenesisDoc, restoreFile string, silent bool) (err error)

LoadDump restores chain state from the given dump file

func (*Kernel) LoadExecutionOptionsFromConfig Uses

func (kern *Kernel) LoadExecutionOptionsFromConfig(conf *execution.ExecutionConfig) error

LoadExecutionOptionsFromConfig builds the execution options for the kernel

func (*Kernel) LoadKeysFromConfig Uses

func (kern *Kernel) LoadKeysFromConfig(conf *keys.KeysConfig) (err error)

LoadKeysFromConfig sets the keyClient & keyStore based on the given config

func (*Kernel) LoadLoggerFromConfig Uses

func (kern *Kernel) LoadLoggerFromConfig(conf *logconfig.LoggingConfig) error

LoadLoggerFromConfig adds a logging configuration to the kernel

func (*Kernel) LoadState Uses

func (kern *Kernel) LoadState(genesisDoc *genesis.GenesisDoc) (err error)

LoadState starts from scratch or previous chain

func (*Kernel) LoadTendermintFromConfig Uses

func (kern *Kernel) LoadTendermintFromConfig(conf *config.BurrowConfig, privVal tmTypes.PrivValidator) (err error)

LoadTendermintFromConfig loads our consensus engine into the kernel

func (*Kernel) MetricsListenAddress Uses

func (kern *Kernel) MetricsListenAddress() net.Addr

func (*Kernel) Panic Uses

func (kern *Kernel) Panic(err error)

func (*Kernel) PrivValidator Uses

func (kern *Kernel) PrivValidator(validator crypto.Address) (tmTypes.PrivValidator, error)

Generates an in-memory Tendermint PrivValidator (suitable for passing to LoadTendermintFromConfig)

func (*Kernel) SetKeyClient Uses

func (kern *Kernel) SetKeyClient(client keys.KeyClient)

SetKeyClient explicitly sets the key client

func (*Kernel) SetKeyStore Uses

func (kern *Kernel) SetKeyStore(store *keys.FilesystemKeyStore)

SetKeyStore explicitly sets the key store

func (*Kernel) SetLogger Uses

func (kern *Kernel) SetLogger(logger *logging.Logger)

SetLogger initializes the kernel with the provided logger

func (*Kernel) Shutdown Uses

func (kern *Kernel) Shutdown(ctx context.Context) (err error)

Shutdown stops the kernel allowing for a graceful shutdown of components in order

func (*Kernel) ShutdownAndExit Uses

func (kern *Kernel) ShutdownAndExit()

func (*Kernel) String Uses

func (kern *Kernel) String() string

func (*Kernel) WaitForShutdown Uses

func (kern *Kernel) WaitForShutdown()

Wait for a graceful shutdown

Package core imports 48 packages (graph) and is imported by 22 packages. Updated 2020-05-03. Refresh now. Tools for package owners.