node

package
v0.12.5 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2024 License: Apache-2.0 Imports: 47 Imported by: 0

Documentation

Index

Constants

View Source
const SyncBlockRange = 6

Variables

This section is empty.

Functions

func NewReadinessHandlers added in v0.12.1

func NewReadinessHandlers(bcReader blockchain.Reader, syncReader sync.Reader) *readinessHandlers

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"`
	VersionedConstantsFile string         `mapstructure:"versioned-constants-file"`

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

	P2P           bool   `mapstructure:"p2p"`
	P2PAddr       string `mapstructure:"p2p-addr"`
	P2PPublicAddr string `mapstructure:"p2p-public-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"`

	PluginPath string `mapstructure:"plugin-path"`
}

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, []core.GasConsumed, []vm.TransactionTrace, uint64, error)

Jump to

Keyboard shortcuts

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