-
Notifications
You must be signed in to change notification settings - Fork 79
Expand file tree
/
Copy pathtest-config.yaml
More file actions
198 lines (165 loc) · 6.63 KB
/
test-config.yaml
File metadata and controls
198 lines (165 loc) · 6.63 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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
logging:
#outputLevel: "debug"
#outputStderr: false
#filePath: "explorer.log"
#fileLevel: "warn"
# Chain network configuration
chain:
#name: "mainnet"
#genesisTimestamp: 1690484700
#genesisValidatorsRoot: "0xbf3c3d4683a5a4d286cd2a5ef7a5c1702f649eee82cdc7e87e05030102d12ccf"
configPath: "config.yaml"
#genesisTimestamp: 1688126460
#configPath: "config-devnet7.yaml"
displayName: "Ephemery Iteration 86"
# HTTP Server configuration
server:
host: "localhost" # Address to listen on
port: "8080" # Port to listen on
# API configuration
api:
enabled: true # Enable or disable API endpoints
corsOrigins: [] # List of allowed CORS origins, empty = allow all
# Authentication secret for JWT tokens (use random base64 string, generate with: dora-utils token secret)
authSecret: ""
# Require authentication for all API requests (set to true to disable unauthenticated access)
requireAuth: false
# Default rate limiting for unauthenticated requests
defaultRateLimit: 60 # requests per minute, 0 = no limit
defaultRateLimitBurst: 10 # burst capacity
disableDefaultRateLimit: false # disable rate limiting completely
# IP/CIDR whitelisting (bypass rate limits) - supports IPv4/IPv6 addresses and CIDR ranges
whitelistedIPs: [] # e.g. ["127.0.0.1", "::1", "10.0.0.0/8", "2001:db8::/32"]
# Frontend configuration
frontend:
enabled: true # Enable or disable the web frontend
debug: false
minimize: false
siteName: "Dora the Explorer" # Name of the site, displayed in the title tag
siteSubtitle: "Ephemery"
siteDomain: "dora.ephemery.dev"
ethExplorerLink: "https://explorer.ephemery.dev/"
validatorNamesYaml: "validator_names.yaml"
#validatorNamesInventory: "https://config.4844-devnet-7.ethpandaops.io/api/v1/nodes/validator-ranges"
disablePageCache: false
showSensitivePeerInfos: true
showPeerDASInfos: true
showSubmitDeposit: true
showSubmitElRequests: true
# DAS Guardian configuration
disableDasGuardianCheck: false # Disable DAS Guardian completely (default: false - enabled)
enableDasGuardianMassScan: true # Enable mass DAS Guardian scanning (default: false - disabled)
# Tracoor cross references
#tracoorUrl: "https://tracoor.sepolia.ethpandaops.io/"
#tracoorNetwork: "sepolia"
beaconapi:
# beacon node rpc endpoints
endpoints:
- name: "pk01"
url: "http://10.16.71.108:5052"
priority: 4
archive: true
- name: "lh"
url: "http://10.16.97.2:5052"
priority: 5
- name: "teku"
url: "http://10.16.97.3:5051"
priority: 5
localCacheSize: 100 # 100MB
redisCacheAddr: ""
redisCachePrefix: ""
executionapi:
# execution node rpc endpoints
endpoints:
- name: "pk01"
url: "http://10.16.71.108:8545"
logBatchSize: 1000
depositDeployBlock: 0 # el block number from where to crawl the deposit contract (should be <=, but close to the deposit contract deployment block)
electraDeployBlock: 0 # el block number from where to crawl the electra system contracts (should be <=, but close to electra fork activation block)
genesisConfig: "" # path or URL to genesis.json file in geth format
# genesisConfig: "/path/to/genesis.json"
# genesisConfig: "https://example.com/genesis.json"
indexer:
# max number of epochs to keep in memory
inMemoryEpochs: 3
# number of epochs to keep validator activity history for (high memory usage for large validator sets)
activityHistoryLength: 6
# disable synchronizing historic data
disableSynchronizer: false
# reset synchronization state to this epoch on startup - only use to resync database, comment out afterwards
#resyncFromEpoch: 0
# force re-synchronization of epochs that are already present in DB - only use to fix missing data after schema upgrades
#resyncForceUpdate: true
# number of seconds to pause the synchronization between each epoch (don't overload CL client)
syncEpochCooldown: 2
# maximum number of parallel beacon state requests (might cause high memory usage)
maxParallelValidatorSetRequests: 1
mevIndexer:
# list of mev relays to crawl mev blocks from
relays:
- index: 0 # identifier for this relay in db (0-63)
name: Flashbots
url: https://boost-relay.flashbots.net/
refreshInterval: 10m
executionIndexer:
enabled: false # enable execution data indexing
retention: 4368h # 4368 hours = 6 months
# Filtered RPC Proxy configuration (for deployments without public RPC access)
rpcProxy:
enabled: false # Enable the filtered RPC proxy at /_rpc
upstreamUrl: "" # URL of the execution client to proxy to (e.g. http://localhost:8545)
requestsPerMinute: 30 # Rate limit per IP (requests per minute)
burstLimit: 10 # Maximum burst requests per IP
timeout: 30s # Timeout for upstream requests
logRequests: false # Log all RPC requests for monitoring
# Whitelist of allowed RPC methods (security-critical)
allowedMethods:
- "eth_blockNumber" # Get latest block number
- "eth_getStorageAt" # Read contract storage (for queue lengths)
- "eth_getLogs" # Get event logs (for fee calculations)
- "eth_call" # Read-only contract calls
- "eth_estimateGas" # Gas estimation
- "eth_gasPrice" # Current gas price
- "eth_maxPriorityFeePerGas" # EIP-1559 fee data
- "eth_feeHistory" # Historical fee data
- "eth_getBalance" # Account balance
- "eth_getTransactionCount" # Nonce for sending transactions
- "eth_getCode" # Contract code
- "eth_chainId" # Network chain ID
- "net_version" # Network version
# database configuration
database:
engine: "sqlite" # sqlite / pgsql
# sqlite settings (only used if engine is set to sqlite)
sqlite:
file: "./tmp-database.sqlite"
#file: ":memory:"
# pgsql settings (only used if engine is set to pgsql)
pgsql:
host: "10.16.97.2"
port: 5432
user: "pk910"
password: "SBekcBFpRW9rZrVL" # internal dev DB, no worries about password leaking ;)
name: "pk910"
pgsqlWriter:
host: "10.16.97.2"
port: 5432
user: "pk910"
password: "SBekcBFpRW9rZrVL" # internal dev DB, no worries about password leaking ;)
name: "pk910"
# separate block db for storing block bodies (no archive beacon node required)
blockDb:
engine: "none" # pebble / s3 / none (disable block db)
# pebble settings (only used if engine is set to pebble)
pebble:
path: "./tmp-blockdb.peb"
cacheSize: 100 # 100MB
# s3 settings (only used if engine is set to s3)
s3:
bucket: "s3-bucket-name"
endpoint: "bucketid.r2.cloudflarestorage.com"
secure: true
region: ""
accessKey: "access-key"
secretKey: "secret-key"
path: "ephemery" # path prefix