Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions apps/evm/cmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,18 @@ var RunCmd = &cobra.Command{
return err
}

blobClient, err := blobrpc.NewWSClient(cmd.Context(), logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, "")
if err != nil {
return fmt.Errorf("failed to create blob client: %w", err)
var daClient block.FullDAClient
if nodeConfig.DA.IsFiberEnabled() {
return fmt.Errorf("fiber DA client requires celestia-app fibre.Client construction with cosmos-sdk keyring (keyring_path=%s, key_name=%s)",
nodeConfig.DA.Fiber.KeyringPath, nodeConfig.DA.Fiber.KeyName)
} else {
blobClient, err := blobrpc.NewWSClient(cmd.Context(), logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, "")
if err != nil {
return fmt.Errorf("failed to create blob client: %w", err)
}
defer blobClient.Close()
daClient = block.NewDAClient(blobClient, nodeConfig, logger)
}
defer blobClient.Close()

daClient := block.NewDAClient(blobClient, nodeConfig, logger)

headerNamespace := da.NamespaceFromString(nodeConfig.DA.GetNamespace())
dataNamespace := da.NamespaceFromString(nodeConfig.DA.GetDataNamespace())
Expand Down Expand Up @@ -131,7 +136,7 @@ var RunCmd = &cobra.Command{
}()
}

return rollcmd.StartNode(logger, cmd, executor, sequencer, nodeKey, datastore, nodeConfig, genesis, node.NodeOptions{})
return rollcmd.StartNode(logger, cmd, executor, sequencer, nodeKey, datastore, nodeConfig, genesis, node.NodeOptions{}, nil)
},
}

Expand Down
17 changes: 11 additions & 6 deletions apps/grpc/cmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ The execution client must implement the Evolve execution gRPC interface.`,
}

// Start the node
return rollcmd.StartNode(logger, cmd, executor, sequencer, nodeKey, datastore, nodeConfig, genesis, node.NodeOptions{})
return rollcmd.StartNode(logger, cmd, executor, sequencer, nodeKey, datastore, nodeConfig, genesis, node.NodeOptions{}, nil)
},
}

Expand All @@ -108,13 +108,18 @@ func createSequencer(
genesis genesis.Genesis,
executor execution.Executor,
) (coresequencer.Sequencer, error) {
blobClient, err := blobrpc.NewWSClient(ctx, logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, "")
if err != nil {
return nil, fmt.Errorf("failed to create blob client: %w", err)
var daClient block.FullDAClient
if nodeConfig.DA.IsFiberEnabled() {
return nil, fmt.Errorf("fiber DA client requires celestia-app fibre.Client construction with cosmos-sdk keyring (keyring_path=%s, key_name=%s)",
nodeConfig.DA.Fiber.KeyringPath, nodeConfig.DA.Fiber.KeyName)
} else {
blobClient, err := blobrpc.NewWSClient(ctx, logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, "")
if err != nil {
return nil, fmt.Errorf("failed to create blob client: %w", err)
}
daClient = block.NewDAClient(blobClient, nodeConfig, logger)
}

daClient := block.NewDAClient(blobClient, nodeConfig, logger)

if nodeConfig.Node.BasedSequencer {
// Based sequencer mode - fetch transactions only from DA
if !nodeConfig.Node.Aggregator {
Expand Down
36 changes: 29 additions & 7 deletions apps/testapp/cmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"github.com/evstack/ev-node/pkg/sequencers/single"
"github.com/evstack/ev-node/pkg/sequencers/solo"
"github.com/evstack/ev-node/pkg/store"
localfiber "github.com/evstack/ev-node/tools/local-fiber"
)

const testDbName = "testapp"
Expand Down Expand Up @@ -91,13 +92,29 @@ var RunCmd = &cobra.Command{
logger.Warn().Msg("da_start_height is not set in genesis.json, ask your chain developer")
}

// Create fiber client if fiber DA is enabled (shared between sequencer and node)
var fiberAdapter block.FiberClient
if nodeConfig.DA.IsFiberEnabled() {
fiberClient, err := localfiber.NewFiberClient(ctx, localfiber.Config{
KeyringPath: nodeConfig.DA.Fiber.KeyringPath,
KeyName: nodeConfig.DA.Fiber.KeyName,
StateAddress: nodeConfig.DA.Fiber.StateAddress,
UploadConc: nodeConfig.DA.Fiber.UploadConcurrency,
DownloadConc: nodeConfig.DA.Fiber.DownloadConcurrency,
})
if err != nil {
return fmt.Errorf("failed to create fiber client: %w", err)
}
fiberAdapter = localfiber.NewAdapter(fiberClient)
}

// Create sequencer based on configuration
sequencer, err := createSequencer(ctx, command, logger, datastore, nodeConfig, genesis, executor)
sequencer, err := createSequencer(ctx, command, logger, datastore, nodeConfig, genesis, executor, fiberAdapter)
if err != nil {
return err
}

return cmd.StartNode(logger, command, executor, sequencer, nodeKey, datastore, nodeConfig, genesis, node.NodeOptions{})
return cmd.StartNode(logger, command, executor, sequencer, nodeKey, datastore, nodeConfig, genesis, node.NodeOptions{}, fiberAdapter)
},
}

Expand All @@ -112,6 +129,7 @@ func createSequencer(
nodeConfig config.Config,
genesis genesis.Genesis,
executor execution.Executor,
fiberClient block.FiberClient,
) (coresequencer.Sequencer, error) {
if enabled, _ := cmd.Flags().GetBool(flagSoloSequencer); enabled {
if nodeConfig.Node.BasedSequencer {
Expand All @@ -121,13 +139,17 @@ func createSequencer(
return solo.NewSoloSequencer(logger, []byte(genesis.ChainID), executor), nil
}

blobClient, err := blobrpc.NewWSClient(ctx, logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, "")
if err != nil {
return nil, fmt.Errorf("failed to create blob client: %w", err)
var daClient block.FullDAClient
if nodeConfig.DA.IsFiberEnabled() {
daClient = block.NewFiberDAClient(fiberClient, nodeConfig, logger)
} else {
blobClient, err := blobrpc.NewWSClient(ctx, logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, "")
if err != nil {
return nil, fmt.Errorf("failed to create blob client: %w", err)
}
daClient = block.NewDAClient(blobClient, nodeConfig, logger)
}

daClient := block.NewDAClient(blobClient, nodeConfig, logger)

if nodeConfig.Node.BasedSequencer {
// Based sequencer mode - fetch transactions only from DA
if !nodeConfig.Node.Aggregator {
Expand Down
Loading
Loading