node

package
v1.0.0-rc4.1 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2021 License: BSD-3-Clause Imports: 75 Imported by: 0

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

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

Functions

func CheckOverlayWithStore

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

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

func GetTxHash

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

func GetTxNextBlock

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

func InitChain

func InitChain(
	ctx context.Context,
	logger logging.Logger,
	stateStore storage.StateStorer,
	endpoint string,
	signer crypto.Signer,
	pollingInterval time.Duration,
) (*ethclient.Client, 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

func InitChequebookFactory(
	logger logging.Logger,
	backend *ethclient.Client,
	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

func InitChequebookService(
	ctx context.Context,
	logger logging.Logger,
	stateStore storage.StateStorer,
	signer crypto.Signer,
	chainID int64,
	backend *ethclient.Client,
	overlayEthAddress common.Address,
	transactionService transaction.Service,
	chequebookFactory chequebook.Factory,
	initialDeposit string,
	deployGasPrice string,
	gasPriceCoefficient string,
	quickenChequebookDeployPeriod int,
) (chequebook.Service, error)

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

func InitStateStore

func InitStateStore(log logging.Logger, dataDir string) (ret storage.StateStorer, err 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

func InitSwap(
	p2ps *libp2p.Service,
	logger logging.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.

Types

type Bee

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

func NewBee

func NewBee(addr string, publicKey *ecdsa.PublicKey, signer crypto.Signer, networkID uint64, logger logging.Logger, libp2pPrivateKey, pssPrivateKey *ecdsa.PrivateKey, o *Options) (b *Bee, err error)

func (*Bee) Shutdown

func (b *Bee) Shutdown(ctx context.Context) error

type Options

type Options struct {
	QuickenChequebookDeployPeriod int
	LimitBurstCoefficient         int
	GasPriceCoefficient           string
	DbCacheDir                    string
	DataDir                       string
	CacheCapacity                 uint64
	DBOpenFilesLimit              uint64
	DBWriteBufferSize             uint64
	DBBlockCacheCapacity          uint64
	DBDisableSeeksCompaction      bool
	APIAddr                       string
	DebugAPIAddr                  string
	Addr                          string
	NATAddr                       string
	EnableWS                      bool
	EnableQUIC                    bool
	WelcomeMessage                string
	Bootnodes                     []string
	CORSAllowedOrigins            []string
	Logger                        logging.Logger
	Standalone                    bool
	TracingEnabled                bool
	TracingEndpoint               string
	TracingServiceName            string
	GlobalPinningEnabled          bool
	PaymentThreshold              string
	PaymentTolerance              string
	PaymentEarly                  string
	ResolverConnectionCfgs        []multiresolver.ConnectionConfig
	GatewayMode                   bool
	BootnodeMode                  bool
	SwapEndpoint                  string
	SwapFactoryAddress            string
	SwapLegacyFactoryAddresses    []string
	SwapInitialDeposit            string
	SwapEnable                    bool
	FullNodeMode                  bool
	Transaction                   string
	BlockHash                     string
	PostageContractAddress        string
	PriceOracleAddress            string
	BlockTime                     uint64
	DeployGasPrice                string
	WarmupTime                    time.Duration
}

Jump to

Keyboard shortcuts

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