node

package
v1.10.0-rc15 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2022 License: BSD-3-Clause Imports: 116 Imported by: 4

Documentation

Overview

Package node defines the concept of a Bee node by bootstrapping and injecting all necessary dependencies.

Index

Constants

View Source
const LoggerName = "node"

LoggerName is the tree path name of the logger for this package.

View Source
const OverlayNonce = "overlayV2_nonce"

Variables

View Source
var ErrShutdownInProgress error = errors.New("shutdown in progress")

Functions

func CheckOverlayWithStore added in v0.5.3

func CheckOverlayWithStore(overlay swarm.Address, storer storage.StateStorer) error

CheckOverlayWithStore checks the overlay is the same as stored in the statestore

func GetExistingOverlay added in v1.8.0

func GetExistingOverlay(storer storage.StateStorer) (swarm.Address, error)

func GetTxHash added in v1.0.0

func GetTxHash(stateStore storage.StateStorer, logger log.Logger, trxString string) ([]byte, error)

func GetTxNextBlock added in v1.0.0

func GetTxNextBlock(ctx context.Context, logger log.Logger, backend transaction.Backend, monitor transaction.Monitor, duration time.Duration, trx []byte, blockHash string) ([]byte, error)

func InitChain added in v0.5.2

func InitChain(
	ctx context.Context,
	logger log.Logger,
	stateStore storage.StateStorer,
	endpoint string,
	oChainID int64,
	signer crypto.Signer,
	pollingInterval time.Duration,
	chainEnabled bool,
) (transaction.Backend, common.Address, int64, transaction.Monitor, transaction.Service, error)

InitChain will initialize the Ethereum backend at the given endpoint and set up the Transaction Service to interact with it using the provided signer.

func InitChequebookFactory added in v0.5.2

func InitChequebookFactory(
	logger log.Logger,
	backend transaction.Backend,
	chainID int64,
	transactionService transaction.Service,
	factoryAddress string,
	legacyFactoryAddresses []string,
) (chequebook.Factory, error)

InitChequebookFactory will initialize the chequebook factory with the given chain backend.

func InitChequebookService added in v0.5.2

func InitChequebookService(
	ctx context.Context,
	logger log.Logger,
	stateStore storage.StateStorer,
	signer crypto.Signer,
	chainID int64,
	backend transaction.Backend,
	overlayEthAddress common.Address,
	transactionService transaction.Service,
	chequebookFactory chequebook.Factory,
	initialDeposit string,
	deployGasPrice string,
	erc20Service erc20.Service,
) (chequebook.Service, error)

InitChequebookService will initialize the chequebook service with the given chequebook factory and chain backend.

func InitStateStore added in v0.5.2

func InitStateStore(logger log.Logger, dataDir string) (storage.StateStorer, error)

InitStateStore will initialize the stateStore with the given path to the data directory. When given an empty directory path, the function will instead initialize an in-memory state store that will not be persisted.

func InitSwap added in v0.5.2

func InitSwap(
	p2ps *libp2p.Service,
	logger log.Logger,
	stateStore storage.StateStorer,
	networkID uint64,
	overlayEthAddress common.Address,
	chequebookService chequebook.Service,
	chequeStore chequebook.ChequeStore,
	cashoutService chequebook.CashoutService,
	accounting settlement.Accounting,
	priceOracleAddress string,
	chainID int64,
	transactionService transaction.Service,
) (*swap.Service, priceoracle.Service, error)

InitSwap will initialize and register the swap service.

func SetOverlayInStore added in v1.8.0

func SetOverlayInStore(overlay swarm.Address, storer storage.StateStorer) error

SetOverlayInStore sets the overlay stored in the statestore (for purpose of overlay migration)

Types

type Bee

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

func NewBee

func NewBee(interrupt chan struct{}, sysInterrupt chan os.Signal, addr string, publicKey *ecdsa.PublicKey, signer crypto.Signer, networkID uint64, logger log.Logger, libp2pPrivateKey, pssPrivateKey *ecdsa.PrivateKey, o *Options) (b *Bee, err error)

func (*Bee) Shutdown

func (b *Bee) Shutdown() error

func (*Bee) SyncingStopped added in v1.6.2

func (b *Bee) SyncingStopped() chan struct{}

type DevBee added in v1.1.0

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

func NewDevBee added in v1.1.0

func NewDevBee(logger log.Logger, o *DevOptions) (b *DevBee, err error)

NewDevBee starts the bee instance in 'development' mode this implies starting an API and a Debug endpoints while mocking all their services.

func (*DevBee) Shutdown added in v1.1.0

func (b *DevBee) Shutdown() error

type DevOptions added in v1.1.0

type DevOptions struct {
	Logger                   log.Logger
	APIAddr                  string
	DebugAPIAddr             string
	CORSAllowedOrigins       []string
	DBOpenFilesLimit         uint64
	ReserveCapacity          uint64
	DBWriteBufferSize        uint64
	DBBlockCacheCapacity     uint64
	DBDisableSeeksCompaction bool
	Restricted               bool
	TokenEncryptionKey       string
	AdminPasswordHash        string
}

type Options

type Options struct {
	DataDir                       string
	CacheCapacity                 uint64
	DBOpenFilesLimit              uint64
	DBWriteBufferSize             uint64
	DBBlockCacheCapacity          uint64
	DBDisableSeeksCompaction      bool
	APIAddr                       string
	DebugAPIAddr                  string
	Addr                          string
	NATAddr                       string
	EnableWS                      bool
	WelcomeMessage                string
	Bootnodes                     []string
	CORSAllowedOrigins            []string
	Logger                        log.Logger
	TracingEnabled                bool
	TracingEndpoint               string
	TracingServiceName            string
	PaymentThreshold              string
	PaymentTolerance              int64
	PaymentEarly                  int64
	ResolverConnectionCfgs        []multiresolver.ConnectionConfig
	RetrievalCaching              bool
	BootnodeMode                  bool
	BlockchainRpcEndpoint         string
	SwapFactoryAddress            string
	SwapLegacyFactoryAddresses    []string
	SwapInitialDeposit            string
	SwapEnable                    bool
	ChequebookEnable              bool
	FullNodeMode                  bool
	Transaction                   string
	BlockHash                     string
	PostageContractAddress        string
	StakingContractAddress        string
	PriceOracleAddress            string
	RedistributionContractAddress string
	BlockTime                     time.Duration
	DeployGasPrice                string
	WarmupTime                    time.Duration
	ChainID                       int64
	Resync                        bool
	BlockProfile                  bool
	MutexProfile                  bool
	StaticNodes                   []swarm.Address
	AllowPrivateCIDRs             bool
	Restricted                    bool
	TokenEncryptionKey            string
	AdminPasswordHash             string
	UsePostageSnapshot            bool
	EnableStorageIncentives       bool
}

Jump to

Keyboard shortcuts

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