-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathexample.config.yaml
More file actions
181 lines (152 loc) · 5.86 KB
/
Copy pathexample.config.yaml
File metadata and controls
181 lines (152 loc) · 5.86 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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
# Relay Sidecar Configuration Example
# Logging
log:
level: "debug"
mode: "pretty"
# Storage
storage-dir: ".data"
# storage-type: "bbolt" # Storage backend: "bbolt" (default) or "badger"
# circuits-dir: "" # Optional: Path to ZK circuits directory
# API Server Configuration
api:
listen: ":8080"
verbose-logging: false
http-gateway: false # Enable HTTP/JSON REST API gateway (default: false)
# Metrics Configuration (optional)
metrics:
listen: ":9090"
pprof: false
# Driver Contract
driver:
chain-id: 31337
address: "0x4826533B4897376654Bb4d4AD88B7faFD0C98528"
# Secret Keys
secret-keys:
- namespace: "symb"
key-type: 0
key-id: 15
secret: "0xde0b6b3a7640000"
- namespace: "evm"
key-type: 1
key-id: 31337
secret: "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"
# Signal Configuration
signal:
worker-count: 10
buffer-size: 20
# Cache Configuration
cache:
network-config-size: 10
validator-set-size: 10
# Sync Configuration
sync:
enabled: true
period: 5s
timeout: 1m
epochs: 5
# Key Cache
key-cache:
size: 100
enabled: true
# P2P Configuration
p2p:
listen: "/ip4/0.0.0.0/tcp/8880"
bootnodes: []
dht-mode: "disabled"
mdns: true
publish-timeout: 10s # Maximum time a single pubsub publish may block
# EVM Configuration
evm:
chains:
- "http://127.0.0.1:8545"
max-calls: 30
# Per-chain gas prices in wei when eth_maxPriorityFeePerGas is not supported
# Key is chain ID, value is gas price in wei
# Default: 2000000000 (2 GWei) if chain is not specified
# fallback-gas-prices:
# "31337": 2000000000 # Local chain: 2 GWei
# "11155420": 1000000000 # OP Sepolia: 1 GWei
# External Voting Power Providers (optional)
# Used when a voting power provider in on-chain config has chain-id in
# reserved external range [4_000_000_000..4_100_000_000].
# Provider ID is read from the first 10 bytes of provider address.
# external-voting-power-providers:
# - id: "0x11223344556677889900"
# url: "dns:///beacon-vp:50051"
# secure: false
# # ca-cert-file: "/path/to/ca.pem"
# # server-name: "beacon-vp.internal"
# # timeout: 5s
# # headers:
# # authorization: "Bearer <token>"
# Aggregation Policy
aggregation-policy-max-unsigners: 50
# Data Retention Configuration (optional)
# Controls how much historical data to keep on this node
retention:
# Maximum number of historical validator set epochs to sync on fresh node startup
# - 0 (default): Unlimited - sync from genesis epoch
# - N > 0: Sync only the most recent N epochs
# Note: Only applies to fresh nodes. Existing nodes continue from last synced epoch.
# Should match your pruning retention period to avoid re-syncing pruned data.
valset-epochs: 0
# Automatic Pruning Configuration (optional)
# Periodically deletes old epoch data to prevent unbounded storage growth
pruner:
# Enable automatic pruning (default: false for safety)
enabled: false
# How often to run the pruning process (default: 1h)
# Examples: 30m, 1h, 6h, 24h
interval: 1h
# Number of request IDs to delete per database transaction during pruning
# Lower values = shorter write lock durations, higher values = fewer transactions
# 0 = process all request IDs in a single transaction (not recommended for large datasets)
batch-size: 100
# Pause between prune batches to yield to live writers (default: 100ms; 0 = no pause)
# bbolt only — badger has no batching and ignores this value
batch-pause: 100ms
# Aggregation Configuration
aggregation:
# Max simultaneous proof aggregations (default: 10)
worker-count: 10
# Catch-up: periodically retries aggregation for requests that don't have a proof yet
catchup:
# Enable periodic catch-up loop (default: true)
enabled: true
# How often to run catch-up cycles (default: 1m)
interval: 1m
# Number of recent epochs to scan per cycle (default: 20)
epochs-to-check: 20
# How many epochs back from latest to start scanning (default: 0)
# 0 = start from latest epoch
epochs-offset: 0
# Max requests to check per cycle, 0 = unlimited (default: 0)
max-requests-per-cycle: 0
# Max proofs to generate per cycle, 0 = unlimited (default: 100)
max-proofs-per-cycle: 100
# bbolt Storage Engine Tuning (default, only used when storage-type: "bbolt")
# bbolt uses a B+tree with single-writer model for predictable write latency
# bbolt:
# initial-mmap-size: 0 # Initial mmap size in bytes (0 = default)
# compact-on-startup: true # Compact database on startup to reclaim free pages (default: true)
# no-freelist-sync: false # Skip writing freelist to disk on every commit (faster writes, slower startup)
# max-batch-delay: 2ms # Max delay before flushing a batch write (default: 2ms; 0 = bbolt default 10ms)
# max-batch-size: 0 # Max operations per batch write (0 = bbolt default 1000)
# stats-log-interval: 0 # Interval for logging database stats (default: 0 = disabled)
# BadgerDB Storage Engine Tuning (optional, only used when storage-type: "badger")
# See https://github.com/dgraph-io/badger/blob/main/options.go#L123 for details
# badger:
# block-cache-size: 134217728 # 128 MB (badger default: 256 MB)
# mem-table-size: 33554432 # 32 MB (badger default: 64 MB)
# num-memtables: 3 # (badger default: 5)
# num-level-zero-tables: 3 # (badger default: 5)
# num-level-zero-tables-stall: 8 # (badger default: 15)
# compact-l0-on-close: true # (badger default: false)
# num-compactors: 2 # concurrent compaction goroutines (badger default: 4)
# value-log-file-size: 536870912 # 512 MB (badger default: ~1 GB)
# value-log-gc-interval: 5m # how often to run value log GC, 0 = disabled (default: 5m)
# value-log-gc-discard-ratio: 0.5 # discard ratio threshold for GC (default: 0.5)
tracing:
enabled: false
endpoint: "localhost:4317"
sample-rate: 1.0