node

package
v1.3.0-rc0 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2023 License: MIT Imports: 79 Imported by: 1

Documentation

Overview

Package node contains the main executable for go-spacemesh node

Index

Constants

View Source
const (
	ClockLogger            = "clock"
	P2PLogger              = "p2p"
	PostLogger             = "post"
	PostServiceLogger      = "postService"
	StateDbLogger          = "stateDbStore"
	BeaconLogger           = "beacon"
	CachedDBLogger         = "cachedDB"
	PoetDbLogger           = "poetDb"
	TrtlLogger             = "trtl"
	ATXHandlerLogger       = "atxHandler"
	MeshLogger             = "mesh"
	SyncLogger             = "sync"
	HareOracleLogger       = "hareOracle"
	HareLogger             = "hare"
	BlockCertLogger        = "blockCert"
	BlockGenLogger         = "blockGenerator"
	BlockHandlerLogger     = "blockHandler"
	TxHandlerLogger        = "txHandler"
	ProposalBuilderLogger  = "proposalBuilder"
	ProposalListenerLogger = "proposalListener"
	NipostBuilderLogger    = "nipostBuilder"
	NipostValidatorLogger  = "nipostValidator"
	Fetcher                = "fetcher"
	TimeSyncLogger         = "timesync"
	VMLogger               = "vm"
	GRPCLogger             = "grpc"
	ConStateLogger         = "conState"
	ExecutorLogger         = "executor"
	MalfeasanceLogger      = "malfeasance"
	BootstrapLogger        = "bootstrap"
)

Logger names.

Variables

This section is empty.

Functions

func GetCommand

func GetCommand() *cobra.Command

func LoadConfigFromFile

func LoadConfigFromFile() (*config.Config, error)

LoadConfigFromFile tries to load configuration file if the config parameter was specified.

Types

type App

type App struct {
	*cobra.Command

	Config *config.Config
	// contains filtered or unexported fields
}

App is the cli app singleton.

func New

func New(opts ...Option) *App

New creates an instance of the spacemesh app.

func NewApp added in v1.3.0

func NewApp(t *testing.T, conf *config.Config, l log.Log) *App

func (*App) Cleanup

func (app *App) Cleanup(ctx context.Context)

Cleanup stops all app services.

func (*App) Host

func (app *App) Host() *p2p.Host

func (*App) Initialize

func (app *App) Initialize() error

Initialize parses and validates the node configuration and sets up logging.

func (*App) LoadCheckpoint

func (app *App) LoadCheckpoint(ctx context.Context) (*checkpoint.PreservedData, error)

func (*App) LoadOrCreateEdSigner

func (app *App) LoadOrCreateEdSigner() (*signing.EdSigner, error)

LoadOrCreateEdSigner either loads a previously created ed identity for the node or creates a new one if not exists.

func (*App) Lock

func (app *App) Lock() error

Lock locks the app for exclusive use. It returns an error if the app is already locked.

func (*App) SetLogLevel

func (app *App) SetLogLevel(name, loglevel string) error

SetLogLevel updates the log level of an existing logger.

func (*App) Start

func (app *App) Start(ctx context.Context) error

Start starts the Spacemesh node and initializes all relevant services according to command line arguments provided.

func (*App) Started

func (app *App) Started() <-chan struct{}

func (*App) Unlock

func (app *App) Unlock()

Unlock unlocks the app. It is a no-op if the app is not locked.

type Option

type Option func(app *App)

Option to modify an App instance.

func WithConfig

func WithConfig(conf *config.Config) Option

WithConfig overwrites default App config.

func WithLog

func WithLog(logger log.Log) Option

WithLog enables logger for an App.

type TestApp added in v1.3.0

type TestApp struct {
	*App
	Conn *grpc.ClientConn
}

func NewTestNetwork added in v1.3.0

func NewTestNetwork(t *testing.T, conf config.Config, l log.Log, size int) []*TestApp

NewTestNetwork creates a network of fully connected nodes.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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