From f48e1835bd33300ad1657c5639e4e5166f567088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Duchesneau?= Date: Mon, 7 Aug 2023 16:48:37 -0400 Subject: [PATCH] add flag for firehose `--node.firehose (bool)` --- arbnode/execution/node.go | 7 +++++-- arbnode/node.go | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/arbnode/execution/node.go b/arbnode/execution/node.go index 418ac6c4cd..1303ddbc04 100644 --- a/arbnode/execution/node.go +++ b/arbnode/execution/node.go @@ -35,14 +35,17 @@ func CreateExecutionNode( recordingDbConfig *arbitrum.RecordingDatabaseConfig, seqConfigFetcher SequencerConfigFetcher, precheckConfigFetcher TxPreCheckerConfigFetcher, + withFirehose bool, ) (*ExecutionNode, error) { execEngine, err := NewExecutionEngine(l2BlockChain) if err != nil { return nil, err } - fh := tracers.NewFirehoseLogger() - execEngine.SetLogger(fh) + if withFirehose { + fh := tracers.NewFirehoseLogger() + execEngine.SetLogger(fh) + } recorder := NewBlockRecorder(recordingDbConfig, execEngine, chainDB) var txPublisher TransactionPublisher diff --git a/arbnode/node.go b/arbnode/node.go index bd5605346b..84d0ee1795 100644 --- a/arbnode/node.go +++ b/arbnode/node.go @@ -326,6 +326,7 @@ type Config struct { SyncMonitor SyncMonitorConfig `koanf:"sync-monitor"` Dangerous DangerousConfig `koanf:"dangerous"` Caching execution.CachingConfig `koanf:"caching"` + Firehose bool `koanf:"firehose"` Archive bool `koanf:"archive"` TxLookupLimit uint64 `koanf:"tx-lookup-limit"` TransactionStreamer TransactionStreamerConfig `koanf:"transaction-streamer" reload:"hot"` @@ -409,6 +410,7 @@ func ConfigAddOptions(prefix string, f *flag.FlagSet, feedInputEnable bool, feed archiveMsg := fmt.Sprintf("retain past block state (deprecated, please use %v.caching.archive)", prefix) f.Bool(prefix+".archive", ConfigDefault.Archive, archiveMsg) + f.Bool(prefix+".firehose", ConfigDefault.Firehose, "output firehose blocks on STDOUT") } var ConfigDefault = Config{ @@ -430,6 +432,7 @@ var ConfigDefault = Config{ SyncMonitor: DefaultSyncMonitorConfig, Dangerous: DefaultDangerousConfig, Archive: false, + Firehose: false, TxLookupLimit: 126_230_400, // 1 year at 4 blocks per second Caching: execution.DefaultCachingConfig, TransactionStreamer: DefaultTransactionStreamerConfig, @@ -612,7 +615,7 @@ func createNodeImpl( txprecheckConfigFetcher := func() *execution.TxPreCheckerConfig { return &configFetcher.Get().TxPreChecker } exec, err := execution.CreateExecutionNode(stack, chainDb, l2BlockChain, l1Reader, syncMonitor, config.ForwardingTarget(), &config.Forwarder, config.RPC, &config.RecordingDB, - sequencerConfigFetcher, txprecheckConfigFetcher) + sequencerConfigFetcher, txprecheckConfigFetcher, config.Firehose) if err != nil { return nil, err }