-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample_config.yaml
More file actions
94 lines (83 loc) · 3.67 KB
/
example_config.yaml
File metadata and controls
94 lines (83 loc) · 3.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
logging: "info" # panic,fatal,warn,info,debug,trace
metricsAddr: ":9090"
# healthCheckAddr: ":9191" # optional. if supplied it enables healthcheck server
# pprofAddr: ":6060" # optional. if supplied it enables pprof server
# apiAddr: ":8080" # optional. if supplied it enables manual block queue API server
# Ethereum execution nodes
ethereum:
execution:
- name: "execution-1"
nodeAddress: http://localhost:8545
# Redis configuration for distributed task queues and leader election
redis:
address: "redis://localhost:6379"
prefix: "execution-processor"
stateManager:
storage:
addr: "localhost:9000"
database: "admin"
table: "execution_block"
limiter:
# enable limiter to stop processing blocks up to the latest canonical beacon block table
# if disabled, the state manager will process blocks up to head of the execution node
enabled: false
addr: "localhost:9000"
database: "default"
table: "canonical_beacon_block"
# Processor configuration (block discovery with leader election)
processors:
# How often to process blocks
interval: "5s"
mode: "forwards" # forwards, backwards
concurrency: 20
maxProcessQueueSize: 10000 # Stop processing new blocks if process queue exceeds this size
backpressureHysteresis: 0.8 # Clear backpressure when queue drops below this fraction of max (8000 in this case)
# Stale block detection (optional, enabled by default)
staleBlockDetection:
enabled: true
staleThreshold: "5m" # Time after which a block is considered stale
checkInterval: "1m" # How often to check for stale blocks
# Gap detection (optional, disabled by default)
gapDetection:
enabled: false
scanInterval: "5m" # How often to scan for gaps
batchSize: 10 # Max gaps to process per scan
lookbackRange: 10000 # Max blocks to look back, 0 = unlimited
# Leader election configuration (optional, enabled by default)
leaderElection:
enabled: true
ttl: "10s"
renewalInterval: "3s"
# nodeId: "" # Auto-generated if not specified
# Processor configuration
transactionStructlog:
enabled: true
addr: "localhost:9000"
database: "default"
table: "canonical_execution_transaction_structlog"
# debug: false # Enable debug logging for ClickHouse queries
# maxPendingBlockRange: 2 # Max distance between oldest incomplete and current block (default: 2)
# bufferMaxRows: 100000 # Max rows before flush (default: 100000)
# bufferFlushInterval: "1s" # Max time before flush (default: 1s)
# Aggregated structlog processor (call frame level aggregation)
transactionStructlogAgg:
enabled: false
addr: "localhost:9000"
database: "default"
table: "canonical_execution_transaction_structlog_agg"
# debug: false # Enable debug logging for ClickHouse queries
# maxPendingBlockRange: 2 # Max distance between oldest incomplete and current block (default: 2)
# bufferMaxRows: 100000 # Max rows before flush (default: 100000)
# bufferFlushInterval: "1s" # Max time before flush (default: 1s)
# Simple transaction processor (lightweight - no debug traces)
transactionSimple:
enabled: false
addr: "localhost:9000"
database: "default"
table: "execution_transaction"
# debug: false # Enable debug logging for ClickHouse queries
# maxPendingBlockRange: 2 # Max distance between oldest incomplete and current block (default: 2)
# bufferMaxRows: 100000 # Max rows before flush (default: 100000)
# bufferFlushInterval: "1s" # Max time before flush (default: 1s)
# Application settings
shutdownTimeout: 6m