Documentation
¶
Index ¶
Constants ¶
View Source
const (
// FlagGrpcExecutorURL is the flag for the gRPC executor endpoint
FlagGrpcExecutorURL = "grpc-executor-url"
)
Variables ¶
View Source
var RunCmd = &cobra.Command{ Use: "start", Aliases: []string{"node", "run"}, Short: "Run the evolve node with gRPC execution client", Long: `Start a Evolve node that connects to a remote execution client via gRPC. The execution client must implement the Evolve execution gRPC interface.`, RunE: func(cmd *cobra.Command, args []string) error { executor, err := createGRPCExecutionClient(cmd) if err != nil { return err } nodeConfig, err := rollcmd.ParseConfig(cmd) if err != nil { return err } logger := rollcmd.SetupLogger(nodeConfig.Log) headerNamespace := da.NamespaceFromString(nodeConfig.DA.GetNamespace()) dataNamespace := da.NamespaceFromString(nodeConfig.DA.GetDataNamespace()) logger.Info().Str("headerNamespace", headerNamespace.HexString()).Str("dataNamespace", dataNamespace.HexString()).Msg("namespaces") daJrpc, err := jsonrpc.NewClient(cmd.Context(), logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, rollcmd.DefaultMaxBlobSize) if err != nil { return err } datastore, err := store.NewDefaultKVStore(nodeConfig.RootDir, nodeConfig.DBPath, "grpc-single") if err != nil { return err } genesis, err := rollgenesis.LoadGenesis(rollgenesis.GenesisPath(nodeConfig.RootDir)) if err != nil { return err } if genesis.DAStartHeight == 0 && !nodeConfig.Node.Aggregator { logger.Warn().Msg("da_start_height is not set in genesis.json, ask your chain developer") } singleMetrics, err := single.DefaultMetricsProvider(nodeConfig.Instrumentation.IsPrometheusEnabled())(genesis.ChainID) if err != nil { return err } sequencer, err := single.NewSequencer( cmd.Context(), logger, datastore, &daJrpc.DA, []byte(genesis.ChainID), nodeConfig.Node.BlockTime.Duration, singleMetrics, nodeConfig.Node.Aggregator, ) if err != nil { return err } nodeKey, err := key.LoadNodeKey(filepath.Dir(nodeConfig.ConfigPath())) if err != nil { return err } p2pClient, err := p2p.NewClient(nodeConfig.P2P, nodeKey.PrivKey, datastore, genesis.ChainID, logger, nil) if err != nil { return err } return rollcmd.StartNode(logger, cmd, executor, sequencer, &daJrpc.DA, p2pClient, datastore, nodeConfig, genesis, node.NodeOptions{}) }, }
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.