node

package
v0.11.7 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 46 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	LogLevel            utils.LogLevel `mapstructure:"log-level"`
	HTTP                bool           `mapstructure:"http"`
	HTTPHost            string         `mapstructure:"http-host"`
	HTTPPort            uint16         `mapstructure:"http-port"`
	RPCCorsEnable       bool           `mapstructure:"rpc-cors-enable"`
	Websocket           bool           `mapstructure:"ws"`
	WebsocketHost       string         `mapstructure:"ws-host"`
	WebsocketPort       uint16         `mapstructure:"ws-port"`
	GRPC                bool           `mapstructure:"grpc"`
	GRPCHost            string         `mapstructure:"grpc-host"`
	GRPCPort            uint16         `mapstructure:"grpc-port"`
	DatabasePath        string         `mapstructure:"db-path"`
	Network             utils.Network  `mapstructure:"network"`
	EthNode             string         `mapstructure:"eth-node"`
	Pprof               bool           `mapstructure:"pprof"`
	PprofHost           string         `mapstructure:"pprof-host"`
	PprofPort           uint16         `mapstructure:"pprof-port"`
	Colour              bool           `mapstructure:"colour"`
	PendingPollInterval time.Duration  `mapstructure:"pending-poll-interval"`
	RemoteDB            string         `mapstructure:"remote-db"`

	Metrics     bool   `mapstructure:"metrics"`
	MetricsHost string `mapstructure:"metrics-host"`
	MetricsPort uint16 `mapstructure:"metrics-port"`

	P2P           bool   `mapstructure:"p2p"`
	P2PAddr       string `mapstructure:"p2p-addr"`
	P2PPeers      string `mapstructure:"p2p-peers"`
	P2PFeederNode bool   `mapstructure:"p2p-feeder-node"`
	P2PPrivateKey string `mapstructure:"p2p-private-key"`

	MaxVMs          uint `mapstructure:"max-vms"`
	MaxVMQueue      uint `mapstructure:"max-vm-queue"`
	RPCMaxBlockScan uint `mapstructure:"rpc-max-block-scan"`
	RPCCallMaxSteps uint `mapstructure:"rpc-call-max-steps"`

	DBCacheSize  uint `mapstructure:"db-cache-size"`
	DBMaxHandles int  `mapstructure:"db-max-handles"`

	GatewayAPIKey  string        `mapstructure:"gw-api-key"`
	GatewayTimeout time.Duration `mapstructure:"gw-timeout"`
}

Config is the top-level juno configuration.

type Node

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

func New

func New(cfg *Config, version string) (*Node, error)

New sets the config and logger to the StarknetNode. Any errors while parsing the config on creating logger will be returned.

func (*Node) Config

func (n *Node) Config() Config

func (*Node) Run

func (n *Node) Run(ctx context.Context)

Run starts Juno node by opening the DB, initialising services. All the services blocking and any errors returned by service run function is logged. Run will wait for all services to return before exiting.

type ThrottledVM added in v0.7.4

type ThrottledVM struct {
	*utils.Throttler[vm.VM]
}

func NewThrottledVM added in v0.7.4

func NewThrottledVM(res vm.VM, concurrenyBudget uint, maxQueueLen int32) *ThrottledVM

func (*ThrottledVM) Call added in v0.7.4

func (tvm *ThrottledVM) Call(callInfo *vm.CallInfo, blockInfo *vm.BlockInfo, state core.StateReader,
	network *utils.Network, maxSteps uint64, useBlobData bool,
) ([]*felt.Felt, error)

func (*ThrottledVM) Execute added in v0.7.4

func (tvm *ThrottledVM) Execute(txns []core.Transaction, declaredClasses []core.Class, paidFeesOnL1 []*felt.Felt,
	blockInfo *vm.BlockInfo, state core.StateReader, network *utils.Network, skipChargeFee, skipValidate, errOnRevert, useBlobData bool,
) ([]*felt.Felt, []*felt.Felt, []vm.TransactionTrace, error)

Jump to

Keyboard shortcuts

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