Skip to content

address Unify client starting process for rlp#3909

Merged
tersec merged 13 commits intostatus-im:masterfrom
RazorClient:era-fix
Jan 16, 2026
Merged

address Unify client starting process for rlp#3909
tersec merged 13 commits intostatus-im:masterfrom
RazorClient:era-fix

Conversation

@RazorClient
Copy link
Copy Markdown
Contributor

@RazorClient RazorClient commented Jan 13, 2026

addresses #3899

  • introduces rlp import as optional during client boot up process instead of previous seperate import-rlp which helps in hive testing of different finality points in the chain segment
  • introduces the flag --bootstrap-blocks-file:<path> — RLP-encoded block files to import before startup.
  • introduces the flag --debug-bootstrap-finalized:<bool> ( default false) — if true, treat those bootstrap treated segments as finalized when importing.

@RazorClient RazorClient marked this pull request as draft January 13, 2026 11:11
pick e98da11 add era client booting
@advaita-saha
Copy link
Copy Markdown
Contributor

Needs cleanup and complexity reduction
Ideally era import shouldn't need to change even a small bit

@RazorClient
Copy link
Copy Markdown
Contributor Author

hey cleaned up a bit by removing the stuff in nim_import and also discarding the import arm as executionclientconf how has all the options that import used to have by itself

will need a bit of input about the finalization part and how to reduce the complexity there @advaita-saha

@advaita-saha
Copy link
Copy Markdown
Contributor

Could you please update the running output after the latest changes ?

@RazorClient
Copy link
Copy Markdown
Contributor Author

<git:(era-fix)> ./build/nimbus_execution_client \
         --network:hoodi \
         --data-dir:/Users/tamaghnachoudhuri/Desktop/working/test \
         --era-dir:/Users/tamaghnachoudhuri/Desktop/working/era-l \
         --engine-api \
         --jwt-secret:/Users/tamaghnachoudhuri/Desktop/working/jwt.hex \
         --rpc \
         --ws \
         --log-level:DEBUG
INF 2026-01-15 20:01:44.064+05:30 Launching execution client                 version=v0.2.2-6a417231 config="(configFile: none(InputFile), dataDirFlag: some(/Users/tamaghnachoudhuri/Desktop/working/test), era1DirFlag: none(OutDir), eraDirFlag: some(/Users/tamaghnachoudhuri/Desktop/working/era-l), keyStoreDirFlag: none(OutDir), importKey: , trustedSetupFile: none(string), extraData: nimbus-eth1/v0.2.2-6a417231, gasLimit: 60000000, network: [hoodi], customNetwork: none(NetworkParams), networkId: 560048, networkParams: (config: ..., genesis: (nonce: 0x0000000000001234, timestamp: 1742212800, extraData: [], gasLimit: 36000000, difficulty: 1, mixHash: 0x0000000000000000000000000000000000000000000000000000000000000000, coinbase: 0x0000000000000000000000000000000000000000, alloc: 335, number: 0, gasUser: 0, parentHash: 0x0000000000000000000000000000000000000000000000000000000000000000, baseFeePerGas: none(), blobGasUsed: -1, excessBlobGas: -1, parentBeaconBlockRoot: none())), logLevel: DEBUG, logFormat: auto, metricsEnabled: false, metricsPort: 9093, metricsAddress: 127.0.0.1, bootstrapNodes: [], bootstrapFile: , staticPeers: [], staticPeersFile: , reconnectMaxRetry: 0, reconnectInterval: 15, listenAddress: ::, tcpPort: 30303, udpPortFlag: none(Port), maxPeers: 25, nat: (hasExtIp: false, nat: NatAny), discovery: [V4, V5], netKey: random, agentString: nimbus-eth1/v0.2.2-6a417231/macosx-arm64/Nim-2.2.4, numThreads: 0, persistBatchSize: 4, dynamicBatchSize: false, rocksdbMaxOpenFiles: 2048, rocksdbWriteBufferSize: 67108864, rocksdbRowCacheSize: 0, rocksdbBlockCacheSize: 2147483648, rdbVtxCacheSize: 536870912, rdbKeyCacheSize: 1342177280, rdbBranchCacheSize: 1073741824, rdbPrintStats: false, rewriteDatadirId: false, aristoDbMaxSnapshots: 5, eagerStateRootCheck: false, deserializeFcState: true, statelessProviderEnabled: false, statelessWitnessValidation: false, maxBlocks: 18446744073709551615, chunkSize: 8192, csvStats: none(string), validation: false, fullValidation: false, storeBodies: false, storeReceipts: false, storeSlotHashes: false, cmd: executionClient, httpPort: 8545, httpAddress: 127.0.0.1, rpcEnabled: true, rpcApi: [], wsEnabled: true, wsApi: [], historyExpiry: false, historyExpiryLimit: none(BlockNumber), portalUrl: , engineApiEnabled: true, engineApiPort: 8551, engineApiAddress: 127.0.0.1, engineApiWsEnabled: false, allowedOrigins: [], maxBlobs: none(byte), jwtSecret: some(/Users/tamaghnachoudhuri/Desktop/working/jwt.hex), jwtSecretValue: none(string), snapSyncEnabled: false, snapServerEnabled: false, beaconSyncTarget: none(string), beaconSyncTargetIsFinal: false, bootstrapBlocksFile: [], bootstrapBlocksFinalized: true)"
INF 2026-01-15 20:01:44.065+05:30 Taskpool started                           numThreads=10
INF 2026-01-15 20:01:44.143+05:30 Writing data dir ID                        ID=0x0b4f8c5ae46267b945eb0124afcdc91001e4b1b0d53e1dbcac5b05b38cf88aff
DBG 2026-01-15 20:01:44.143+05:30 Core DB persisted                          kvtDur=28us542ns mptDur=458ns endDur=297us459ns
INF 2026-01-15 20:01:44.148+05:30 Writing genesis to DB                      blockHash=0xbbe312868b376a3001692a646dd2d7d1e4406380dfd86b98aa8a34d1557c971b stateRoot=0xda87d7f5f91c51508791bbcbd4aa5baf04917830b86985eeb9ad3d5bfb657576 difficulty=1 gasLimit=36000000 timestamp=1742212800 nonce=0x0000000000001234
DBG 2026-01-15 20:01:44.176+05:30 Core DB persisted                          kvtDur=11us500ns mptDur=2ms575us625ns endDur=25ms845us83ns
DBG 2026-01-15 20:01:44.177+05:30 Reverting to base                          err="no finalized block hash and number"
INF 2026-01-15 20:01:44.177+05:30 Database initialized                       base="(0xbbe312868b376a3001692a646dd2d7d1e4406380dfd86b98aa8a34d1557c971b, 0)" finalized="(0xbbe312868b376a3001692a646dd2d7d1e4406380dfd86b98aa8a34d1557c971b, 0)" head="(0xbbe312868b376a3001692a646dd2d7d1e4406380dfd86b98aa8a34d1557c971b, 0)"
NTC 2026-01-15 20:01:44.177+05:30 Pre-start import requested                 archives=true rlp=false
DBG 2026-01-15 20:01:44.177+05:30 Starting archive import                    era1Dir=/Users/tamaghnachoudhuri/Desktop/working/test/era1 eraDir=/Users/tamaghnachoudhuri/Desktop/working/era-l
NTC 2026-01-15 20:01:44.177+05:30 Importing era archive                      blockNumber=1 dataDir=/Users/tamaghnachoudhuri/Desktop/working/test eraDir=/Users/tamaghnachoudhuri/Desktop/working/era-l
DBG 2026-01-15 20:04:43.352+05:30 Core DB persisted                          kvtDur=8ms57us291ns mptDur=990ms860us209ns endDur=749ms891us625ns
INF 2026-01-15 20:04:43.352+05:30 Imported blocks                            blockNumber=7250 slot=16384 blocks=7249 txs=46045 mgas=101528 bps=40.46 tps=257.0 mgps=566.6 avgBps=40.46 avgTps=257.0 avgMGps=566.6 elapsed=2m59s175ms
NTC 2026-01-15 20:04:43.352+05:30 Import complete                            blockNumber=7250 slot=16384 blocks=7249 txs=46045 mgas=101528
NTC 2026-01-15 20:04:43.352+05:30 Pre-start import complete                 
WRN 2026-01-15 20:04:43.352+05:30 Loading block DAG from database            msg="Cannot find previous FC state in database"
DBG 2026-01-15 20:04:47.568+05:30 UPnP                                       topics="eth net nat" msg="Some device found, but it's not recognised as an Internet Gateway Device. Trying anyway."
DBG 2026-01-15 20:04:52.587+05:30 UPnP                                       topics="eth net nat" msg="Miniupnpc HTTP error"
DBG 2026-01-15 20:04:52.593+05:30 NAT-PMP                                    topics="eth net nat" msg="the gateway does not support nat-pmp"
WRN 2026-01-15 20:04:52.593+05:30 UPnP/NAT-PMP not available                 topics="eth net nat"
INF 2026-01-15 20:04:52.599+05:30 Discovery ENR initialized                  topics="eth p2p discv5" enrAutoUpdate=true seqNum=1 ip=none() tcpPort=ok(30303) udpPort=ok(30303) localEnrFields=[] uri=enr:-IO4QLszNlais9kDP4ZnuH1UMQsCSerP1c4qY4wuht1raFXnc9U5HJz3Y-WMedp-Z6FTwpXDfVNRXdKCQoYo6v9__OMBgmlkgnY0iXNlY3AyNTZrMaECHNvdhBu0UJqqo-1yNmp2j9J_RH8e1CCcepJBwH4xRbyDdGNwgnZfg3VkcIJ2Xw
NTC 2026-01-15 20:04:52.599+05:30 No external IP provided for the ENR, this node will not be discoverable until the ENR is updated with the discovered external IP address topics="eth p2p discv5"
INF 2026-01-15 20:04:52.600+05:30 RLPx listener up                           topics="p2p" self=enode://1cdbdd841bb4509aaaa3ed72366a768fd27f447f1ed4209c7a9241c07e3145bcac8108deeda8991caaa51d015bd40e6b4aa018c51747eee1bb2135443a1e3332@[::]:30303
INF 2026-01-15 20:04:52.600+05:30 Starting discovery node                    topics="p2p" node=Node[:::30303] bindAddress=:::30303:30303 discV4=true discV5=true
DBG 2026-01-15 20:04:52.600+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-Mq4QLkmuSwbGBUph1r7iHopzRpdqE-gcm5LNZfcE-6T37OCZbRHi22bXZkaqnZ6XdIyEDTelnkmMEQB8w6NbnJUt9GGAZWaowaYh2F0dG5ldHOIABgAAAAAAACEZXRoMpDS8Zl_YAAJEAAIAAAAAAAAgmlkgnY0gmlwhNEmfKCEcXVpY4IyyIlzZWNwMjU2azGhA0hGa4jZJZYQAS-z6ZFK-m4GCFnWS8wfjO0bpSQn6hyEiHN5bmNuZXRzAIN0Y3CCIyiDdWRwgiMo
DBG 2026-01-15 20:04:52.600+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-Ku4QLVumWTwyOUVS4ajqq8ZuZz2ik6t3Gtq0Ozxqecj0qNZWpMnudcvTs-4jrlwYRQMQwBS8Pvtmu4ZPP2Lx3i2t7YBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpBd9cEGEAAJEP__________gmlkgnY0gmlwhNEmfKCJc2VjcDI1NmsxoQLdRlI8aCa_ELwTJhVN8k7km7IDc3pYu-FMYBs5_FiigIN1ZHCCIyk
DBG 2026-01-15 20:04:52.600+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-LK4QAYuLujoiaqCAs0-qNWj9oFws1B4iy-Hff1bRB7wpQCYSS-IIMxLWCn7sWloTJzC1SiH8Y7lMQ5I36ynGV1ASj4Eh2F0dG5ldHOIYAAAAAAAAACEZXRoMpDS8Zl_YAAJEAAIAAAAAAAAgmlkgnY0gmlwhIbRilSJc2VjcDI1NmsxoQOmI5MlAu3f5WEThAYOqoygpS2wYn0XS5NV2aYq7T0a04N0Y3CCIyiDdWRwgiMo
DBG 2026-01-15 20:04:52.600+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-Ku4QIC89sMC0o-irosD4_23lJJ4qCGOvdUz7SmoShWx0k6AaxCFTKviEHa-sa7-EzsiXpDp0qP0xzX6nKdXJX3X-IQBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpBd9cEGEAAJEP__________gmlkgnY0gmlwhIbRilSJc2VjcDI1NmsxoQK_m0f1DzDc9Cjrspm36zuRa7072HSiMGYWLsKiVSbP34N1ZHCCIyk
DBG 2026-01-15 20:04:52.600+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-Ku4QNkWjw5tNzo8DtWqKm7CnDdIq_y7xppD6c1EZSwjB8rMOkSFA1wJPLoKrq5UvA7wcxIotH6Usx3PAugEN2JMncIBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpBd9cEGEAAJEP__________gmlkgnY0gmlwhIbHuBeJc2VjcDI1NmsxoQP3FwrhFYB60djwRjAoOjttq6du94DtkQuaN99wvgqaIYN1ZHCCIyk
DBG 2026-01-15 20:04:52.600+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-OS4QMJGE13xEROqvKN1xnnt7U-noc51VXyM6wFMuL9LMhQDfo1p1dF_zFdS4OsnXz_vIYk-nQWnqJMWRDKvkSK6_CwDh2F0dG5ldHOIAAAAADAAAACGY2xpZW502IpMaWdodGhvdXNljDcuMC4wLWJldGEuM4RldGgykNLxmX9gAAkQAAgAAAAAAACCaWSCdjSCaXCEhse4F4RxdWljgiMqiXNlY3AyNTZrMaECef77P8k5l3PC_raLw42OAzdXfxeQ-58BJriNaqiRGJSIc3luY25ldHMAg3RjcIIjKIN1ZHCCIyg
DBG 2026-01-15 20:04:52.600+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-LK4QDwhXMitMbC8xRiNL-XGMhRyMSOnxej-zGifjv9Nm5G8EF285phTU-CAsMHRRefZimNI7eNpAluijMQP7NDC8kEMh2F0dG5ldHOIAAAAAAAABgCEZXRoMpDS8Zl_YAAJEAAIAAAAAAAAgmlkgnY0gmlwhAOIT_SJc2VjcDI1NmsxoQMoHWNL4MAvh6YpQeM2SUjhUrLIPsAVPB8nyxbmckC6KIN0Y3CCIyiDdWRwgiMo
DBG 2026-01-15 20:04:52.600+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-LK4QPYl2HnMPQ7b1es6Nf_tFYkyya5bj9IqAKOEj2cmoqVkN8ANbJJJK40MX4kciL7pZszPHw6vLNyeC-O3HUrLQv8Mh2F0dG5ldHOIAAAAAAAAAMCEZXRoMpDS8Zl_YAAJEAAIAAAAAAAAgmlkgnY0gmlwhAMYRG-Jc2VjcDI1NmsxoQPQ35tjr6q1qUqwAnegQmYQyfqxC_6437CObkZneI9n34N0Y3CCIyiDdWRwgiMo
DBG 2026-01-15 20:04:52.600+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-KG4QKRSUi4IOAIK_xt5ERrwW_J47wmNCLWFh7Jo0hFE69drZsiZ5Pb5CEcM_njFTTLlIR6SCf67HTcSV1g6hCXdhWkCgmlkgnY0gmlwhLkvrBODaXA2kCoGxcAWAAAYAAAAAAAAABCJc2VjcDI1NmsxoQPU7g2jQGTz8BYbB2vLTb39S_PrcZAehwMM0b3bWsM5rIN1ZHCCIyiEdWRwNoIjKA
INF 2026-01-15 20:04:52.603+05:30 JSON-RPC WebSocket API enabled             url=ws://127.0.0.1:8545
INF 2026-01-15 20:04:52.603+05:30 JSON-RPC API enabled                       url=http://127.0.0.1:8545
INF 2026-01-15 20:04:52.603+05:30 Engine API enabled                         url=http://127.0.0.1:8551

and

 ./build/nimbus_execution_client import \
    --network:hoodi \
    --data-dir:/Users/tamaghnachoudhuri/Desktop/working/test-2 \
    --era-dir:/Users/tamaghnachoudhuri/Desktop/working/era-l \
    --log-level:DEBUG
INF 2026-01-15 20:05:34.032+05:30 Launching execution client                 version=v0.2.2-6a417231 config="(configFile: none(InputFile), dataDirFlag: some(/Users/tamaghnachoudhuri/Desktop/working/test-2), era1DirFlag: none(OutDir), eraDirFlag: some(/Users/tamaghnachoudhuri/Desktop/working/era-l), keyStoreDirFlag: none(OutDir), importKey: , trustedSetupFile: none(string), extraData: nimbus-eth1/v0.2.2-6a417231, gasLimit: 60000000, network: [hoodi], customNetwork: none(NetworkParams), networkId: 560048, networkParams: (config: ..., genesis: (nonce: 0x0000000000001234, timestamp: 1742212800, extraData: [], gasLimit: 36000000, difficulty: 1, mixHash: 0x0000000000000000000000000000000000000000000000000000000000000000, coinbase: 0x0000000000000000000000000000000000000000, alloc: 335, number: 0, gasUser: 0, parentHash: 0x0000000000000000000000000000000000000000000000000000000000000000, baseFeePerGas: none(), blobGasUsed: -1, excessBlobGas: -1, parentBeaconBlockRoot: none())), logLevel: DEBUG, logFormat: auto, metricsEnabled: false, metricsPort: 9093, metricsAddress: 127.0.0.1, bootstrapNodes: [], bootstrapFile: , staticPeers: [], staticPeersFile: , reconnectMaxRetry: 0, reconnectInterval: 15, listenAddress: ::, tcpPort: 30303, udpPortFlag: none(Port), maxPeers: 25, nat: (hasExtIp: false, nat: NatAny), discovery: [V4, V5], netKey: random, agentString: nimbus-eth1/v0.2.2-6a417231/macosx-arm64/Nim-2.2.4, numThreads: 0, persistBatchSize: 4, dynamicBatchSize: false, rocksdbMaxOpenFiles: 2048, rocksdbWriteBufferSize: 67108864, rocksdbRowCacheSize: 0, rocksdbBlockCacheSize: 2147483648, rdbVtxCacheSize: 536870912, rdbKeyCacheSize: 1342177280, rdbBranchCacheSize: 1073741824, rdbPrintStats: false, rewriteDatadirId: false, aristoDbMaxSnapshots: 5, eagerStateRootCheck: false, deserializeFcState: true, statelessProviderEnabled: false, statelessWitnessValidation: false, maxBlocks: 18446744073709551615, chunkSize: 8192, csvStats: none(string), validation: false, fullValidation: false, storeBodies: false, storeReceipts: false, storeSlotHashes: false, cmd: import)"
INF 2026-01-15 20:05:34.034+05:30 Taskpool started                           numThreads=10
INF 2026-01-15 20:05:34.102+05:30 Writing data dir ID                        ID=0x0b4f8c5ae46267b945eb0124afcdc91001e4b1b0d53e1dbcac5b05b38cf88aff
DBG 2026-01-15 20:05:34.102+05:30 Core DB persisted                          kvtDur=4us334ns mptDur=458ns endDur=72us917ns
INF 2026-01-15 20:05:34.106+05:30 Writing genesis to DB                      blockHash=0xbbe312868b376a3001692a646dd2d7d1e4406380dfd86b98aa8a34d1557c971b stateRoot=0xda87d7f5f91c51508791bbcbd4aa5baf04917830b86985eeb9ad3d5bfb657576 difficulty=1 gasLimit=36000000 timestamp=1742212800 nonce=0x0000000000001234
DBG 2026-01-15 20:05:34.135+05:30 Core DB persisted                          kvtDur=8us209ns mptDur=1ms552us708ns endDur=27ms465us375ns
DBG 2026-01-15 20:05:34.135+05:30 Reverting to base                          err="no finalized block hash and number"
INF 2026-01-15 20:05:34.135+05:30 Database initialized                       base="(0xbbe312868b376a3001692a646dd2d7d1e4406380dfd86b98aa8a34d1557c971b, 0)" finalized="(0xbbe312868b376a3001692a646dd2d7d1e4406380dfd86b98aa8a34d1557c971b, 0)" head="(0xbbe312868b376a3001692a646dd2d7d1e4406380dfd86b98aa8a34d1557c971b, 0)"
NTC 2026-01-15 20:05:34.135+05:30 Importing era archive                      blockNumber=1 dataDir=/Users/tamaghnachoudhuri/Desktop/working/test-2 eraDir=/Users/tamaghnachoudhuri/Desktop/working/era-l
DBG 2026-01-15 20:08:34.307+05:30 Core DB persisted                          kvtDur=7ms57us584ns mptDur=812ms960us250ns endDur=810ms75us458ns
INF 2026-01-15 20:08:34.307+05:30 Imported blocks                            blockNumber=7250 slot=16384 blocks=7249 txs=46045 mgas=101528 bps=40.23 tps=255.6 mgps=563.5 avgBps=40.23 avgTps=255.6 avgMGps=563.5 elapsed=3m171ms737us
NTC 2026-01-15 20:08:34.307+05:30 Import complete                            blockNumber=7250 slot=16384 blocks=7249 txs=46045 mgas=101528
./build/nimbus_execution_client \
         --network:hoodi \
         --data-dir:/Users/tamaghnachoudhuri/Desktop/working/test-2 \
         --engine-api \
         --jwt-secret:/Users/tamaghnachoudhuri/Desktop/working/jwt.hex \
         --rpc \
         --ws \
         --log-level:DEBUG
INF 2026-01-15 20:09:05.996+05:30 Launching execution client                 version=v0.2.2-6a417231 config="(configFile: none(InputFile), dataDirFlag: some(/Users/tamaghnachoudhuri/Desktop/working/test-2), era1DirFlag: none(OutDir), eraDirFlag: none(OutDir), keyStoreDirFlag: none(OutDir), importKey: , trustedSetupFile: none(string), extraData: nimbus-eth1/v0.2.2-6a417231, gasLimit: 60000000, network: [hoodi], customNetwork: none(NetworkParams), networkId: 560048, networkParams: (config: ..., genesis: (nonce: 0x0000000000001234, timestamp: 1742212800, extraData: [], gasLimit: 36000000, difficulty: 1, mixHash: 0x0000000000000000000000000000000000000000000000000000000000000000, coinbase: 0x0000000000000000000000000000000000000000, alloc: 335, number: 0, gasUser: 0, parentHash: 0x0000000000000000000000000000000000000000000000000000000000000000, baseFeePerGas: none(), blobGasUsed: -1, excessBlobGas: -1, parentBeaconBlockRoot: none())), logLevel: DEBUG, logFormat: auto, metricsEnabled: false, metricsPort: 9093, metricsAddress: 127.0.0.1, bootstrapNodes: [], bootstrapFile: , staticPeers: [], staticPeersFile: , reconnectMaxRetry: 0, reconnectInterval: 15, listenAddress: ::, tcpPort: 30303, udpPortFlag: none(Port), maxPeers: 25, nat: (hasExtIp: false, nat: NatAny), discovery: [V4, V5], netKey: random, agentString: nimbus-eth1/v0.2.2-6a417231/macosx-arm64/Nim-2.2.4, numThreads: 0, persistBatchSize: 4, dynamicBatchSize: false, rocksdbMaxOpenFiles: 2048, rocksdbWriteBufferSize: 67108864, rocksdbRowCacheSize: 0, rocksdbBlockCacheSize: 2147483648, rdbVtxCacheSize: 536870912, rdbKeyCacheSize: 1342177280, rdbBranchCacheSize: 1073741824, rdbPrintStats: false, rewriteDatadirId: false, aristoDbMaxSnapshots: 5, eagerStateRootCheck: false, deserializeFcState: true, statelessProviderEnabled: false, statelessWitnessValidation: false, maxBlocks: 18446744073709551615, chunkSize: 8192, csvStats: none(string), validation: false, fullValidation: false, storeBodies: false, storeReceipts: false, storeSlotHashes: false, cmd: executionClient, httpPort: 8545, httpAddress: 127.0.0.1, rpcEnabled: true, rpcApi: [], wsEnabled: true, wsApi: [], historyExpiry: false, historyExpiryLimit: none(BlockNumber), portalUrl: , engineApiEnabled: true, engineApiPort: 8551, engineApiAddress: 127.0.0.1, engineApiWsEnabled: false, allowedOrigins: [], maxBlobs: none(byte), jwtSecret: some(/Users/tamaghnachoudhuri/Desktop/working/jwt.hex), jwtSecretValue: none(string), snapSyncEnabled: false, snapServerEnabled: false, beaconSyncTarget: none(string), beaconSyncTargetIsFinal: false, bootstrapBlocksFile: [], bootstrapBlocksFinalized: true)"
INF 2026-01-15 20:09:05.998+05:30 Taskpool started                           numThreads=10
DBG 2026-01-15 20:09:06.499+05:30 Writing computeKey cache                   keys=21399 accounts=8.04%
DBG 2026-01-15 20:09:06.871+05:30 Writing computeKey cache                   keys=42798 accounts=16.92%
DBG 2026-01-15 20:09:07.280+05:30 Writing computeKey cache                   keys=64197 accounts=23.67%
DBG 2026-01-15 20:09:07.677+05:30 Writing computeKey cache                   keys=85596 accounts=30.45%
DBG 2026-01-15 20:09:08.090+05:30 Writing computeKey cache                   keys=106995 accounts=39.37%
DBG 2026-01-15 20:09:08.507+05:30 Writing computeKey cache                   keys=128394 accounts=48.23%
DBG 2026-01-15 20:09:08.910+05:30 Writing computeKey cache                   keys=149793 accounts=57.12%
DBG 2026-01-15 20:09:09.334+05:30 Writing computeKey cache                   keys=171192 accounts=66.02%
DBG 2026-01-15 20:09:09.742+05:30 Writing computeKey cache                   keys=192591 accounts=75.03%
DBG 2026-01-15 20:09:10.154+05:30 Writing computeKey cache                   keys=213990 accounts=84.02%
DBG 2026-01-15 20:09:10.565+05:30 Writing computeKey cache                   keys=235389 accounts=92.97%
DBG 2026-01-15 20:09:10.919+05:30 Wrote computeKey cache                     keys=252436 accounts=100.00%
DBG 2026-01-15 20:09:10.920+05:30 Reverting to base                          err="no finalized block hash and number"
INF 2026-01-15 20:09:10.920+05:30 Database initialized                       base="(0xc9424c6b5f523f72d7ccf1dd0bf55574f06d9879f78408f1027871c27d29b1bc, 7249)" finalized="(0xc9424c6b5f523f72d7ccf1dd0bf55574f06d9879f78408f1027871c27d29b1bc, 7249)" head="(0xbbe312868b376a3001692a646dd2d7d1e4406380dfd86b98aa8a34d1557c971b, 0)"
WRN 2026-01-15 20:09:10.920+05:30 Loading block DAG from database            msg="Cannot find previous FC state in database"
DBG 2026-01-15 20:09:15.102+05:30 UPnP                                       topics="eth net nat" msg="Some device found, but it's not recognised as an Internet Gateway Device. Trying anyway."
DBG 2026-01-15 20:09:20.119+05:30 UPnP                                       topics="eth net nat" msg="Miniupnpc HTTP error"
DBG 2026-01-15 20:09:20.122+05:30 NAT-PMP                                    topics="eth net nat" msg="the gateway does not support nat-pmp"
WRN 2026-01-15 20:09:20.122+05:30 UPnP/NAT-PMP not available                 topics="eth net nat"
INF 2026-01-15 20:09:20.130+05:30 Discovery ENR initialized                  topics="eth p2p discv5" enrAutoUpdate=true seqNum=1 ip=none() tcpPort=ok(30303) udpPort=ok(30303) localEnrFields=[] uri=enr:-IO4QCj8qdWIwe3iQ4IOGcGLSK9MEZTo6ut7YNWC-HkVvPU_GrD7PNt28sAu-nFdd6fcW-DVA_8dj9dOADQ-Nf1kH8QBgmlkgnY0iXNlY3AyNTZrMaEC8fAAy8GCgX6qmOQzqwaGM4WuEosWgfCW4RrWnIR8WqyDdGNwgnZfg3VkcIJ2Xw
NTC 2026-01-15 20:09:20.131+05:30 No external IP provided for the ENR, this node will not be discoverable until the ENR is updated with the discovered external IP address topics="eth p2p discv5"
INF 2026-01-15 20:09:20.131+05:30 RLPx listener up                           topics="p2p" self=enode://f1f000cbc182817eaa98e433ab06863385ae128b1681f096e11ad69c847c5aac92375bbdb5093d1bc316f0a4bd5066acaa88b4ed5234c36ee3dd59cee19c822e@[::]:30303
INF 2026-01-15 20:09:20.132+05:30 Starting discovery node                    topics="p2p" node=Node[:::30303] bindAddress=:::30303:30303 discV4=true discV5=true
DBG 2026-01-15 20:09:20.132+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-Mq4QLkmuSwbGBUph1r7iHopzRpdqE-gcm5LNZfcE-6T37OCZbRHi22bXZkaqnZ6XdIyEDTelnkmMEQB8w6NbnJUt9GGAZWaowaYh2F0dG5ldHOIABgAAAAAAACEZXRoMpDS8Zl_YAAJEAAIAAAAAAAAgmlkgnY0gmlwhNEmfKCEcXVpY4IyyIlzZWNwMjU2azGhA0hGa4jZJZYQAS-z6ZFK-m4GCFnWS8wfjO0bpSQn6hyEiHN5bmNuZXRzAIN0Y3CCIyiDdWRwgiMo
DBG 2026-01-15 20:09:20.132+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-Ku4QLVumWTwyOUVS4ajqq8ZuZz2ik6t3Gtq0Ozxqecj0qNZWpMnudcvTs-4jrlwYRQMQwBS8Pvtmu4ZPP2Lx3i2t7YBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpBd9cEGEAAJEP__________gmlkgnY0gmlwhNEmfKCJc2VjcDI1NmsxoQLdRlI8aCa_ELwTJhVN8k7km7IDc3pYu-FMYBs5_FiigIN1ZHCCIyk
DBG 2026-01-15 20:09:20.132+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-LK4QAYuLujoiaqCAs0-qNWj9oFws1B4iy-Hff1bRB7wpQCYSS-IIMxLWCn7sWloTJzC1SiH8Y7lMQ5I36ynGV1ASj4Eh2F0dG5ldHOIYAAAAAAAAACEZXRoMpDS8Zl_YAAJEAAIAAAAAAAAgmlkgnY0gmlwhIbRilSJc2VjcDI1NmsxoQOmI5MlAu3f5WEThAYOqoygpS2wYn0XS5NV2aYq7T0a04N0Y3CCIyiDdWRwgiMo
DBG 2026-01-15 20:09:20.132+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-Ku4QIC89sMC0o-irosD4_23lJJ4qCGOvdUz7SmoShWx0k6AaxCFTKviEHa-sa7-EzsiXpDp0qP0xzX6nKdXJX3X-IQBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpBd9cEGEAAJEP__________gmlkgnY0gmlwhIbRilSJc2VjcDI1NmsxoQK_m0f1DzDc9Cjrspm36zuRa7072HSiMGYWLsKiVSbP34N1ZHCCIyk
DBG 2026-01-15 20:09:20.132+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-Ku4QNkWjw5tNzo8DtWqKm7CnDdIq_y7xppD6c1EZSwjB8rMOkSFA1wJPLoKrq5UvA7wcxIotH6Usx3PAugEN2JMncIBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpBd9cEGEAAJEP__________gmlkgnY0gmlwhIbHuBeJc2VjcDI1NmsxoQP3FwrhFYB60djwRjAoOjttq6du94DtkQuaN99wvgqaIYN1ZHCCIyk
DBG 2026-01-15 20:09:20.132+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-OS4QMJGE13xEROqvKN1xnnt7U-noc51VXyM6wFMuL9LMhQDfo1p1dF_zFdS4OsnXz_vIYk-nQWnqJMWRDKvkSK6_CwDh2F0dG5ldHOIAAAAADAAAACGY2xpZW502IpMaWdodGhvdXNljDcuMC4wLWJldGEuM4RldGgykNLxmX9gAAkQAAgAAAAAAACCaWSCdjSCaXCEhse4F4RxdWljgiMqiXNlY3AyNTZrMaECef77P8k5l3PC_raLw42OAzdXfxeQ-58BJriNaqiRGJSIc3luY25ldHMAg3RjcIIjKIN1ZHCCIyg
DBG 2026-01-15 20:09:20.132+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-LK4QDwhXMitMbC8xRiNL-XGMhRyMSOnxej-zGifjv9Nm5G8EF285phTU-CAsMHRRefZimNI7eNpAluijMQP7NDC8kEMh2F0dG5ldHOIAAAAAAAABgCEZXRoMpDS8Zl_YAAJEAAIAAAAAAAAgmlkgnY0gmlwhAOIT_SJc2VjcDI1NmsxoQMoHWNL4MAvh6YpQeM2SUjhUrLIPsAVPB8nyxbmckC6KIN0Y3CCIyiDdWRwgiMo
DBG 2026-01-15 20:09:20.132+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-LK4QPYl2HnMPQ7b1es6Nf_tFYkyya5bj9IqAKOEj2cmoqVkN8ANbJJJK40MX4kciL7pZszPHw6vLNyeC-O3HUrLQv8Mh2F0dG5ldHOIAAAAAAAAAMCEZXRoMpDS8Zl_YAAJEAAIAAAAAAAAgmlkgnY0gmlwhAMYRG-Jc2VjcDI1NmsxoQPQ35tjr6q1qUqwAnegQmYQyfqxC_6437CObkZneI9n34N0Y3CCIyiDdWRwgiMo
DBG 2026-01-15 20:09:20.132+05:30 Added bootstrap node                       topics="eth p2p discv5" uri=enr:-KG4QKRSUi4IOAIK_xt5ERrwW_J47wmNCLWFh7Jo0hFE69drZsiZ5Pb5CEcM_njFTTLlIR6SCf67HTcSV1g6hCXdhWkCgmlkgnY0gmlwhLkvrBODaXA2kCoGxcAWAAAYAAAAAAAAABCJc2VjcDI1NmsxoQPU7g2jQGTz8BYbB2vLTb39S_PrcZAehwMM0b3bWsM5rIN1ZHCCIyiEdWRwNoIjKA
INF 2026-01-15 20:09:20.135+05:30 JSON-RPC WebSocket API enabled             url=ws://127.0.0.1:8545
INF 2026-01-15 20:09:20.135+05:30 JSON-RPC API enabled                       url=http://127.0.0.1:8545
INF 2026-01-15 20:09:20.135+05:30 Engine API enabled                         url=http://127.0.0.1:8551

the ci test have apparently passed too

@RazorClient RazorClient marked this pull request as ready for review January 15, 2026 14:58
@advaita-saha
Copy link
Copy Markdown
Contributor

Ig I need to look into how to handle the era import in this case, we would like the computeKey cache to build after importing.

@RazorClient I think the best thing for you would be to leave the era part for now, and make this PR for rlp only
Once that is done, I'll review the code

For the rlp test vectors, you can run hive consume-rlp or you can maybe use few rlp blocks from test folder
But best would be running hive

@RazorClient RazorClient changed the title add era client booting address Unify client starting process for rlp Jan 15, 2026
Comment thread execution_chain/nimbus_execution_client.nim Outdated
Comment thread execution_chain/core/block_import.nim Outdated
Comment thread execution_chain/core/block_import.nim Outdated
Comment thread execution_chain/core/block_import.nim Outdated
Comment thread scripts/check_revision.sh Outdated
@tersec tersec merged commit 6bc56df into status-im:master Jan 16, 2026
18 checks passed
Comment thread execution_chain/conf.nim
bootstrapBlocksFile* {.
desc: "Import RLP encoded block files before starting the client"
defaultValue: @[]
name: "bootstrap-blocks-file" .}: seq[InputFile]
Copy link
Copy Markdown
Contributor

@kdeme kdeme Jan 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is my understanding that this is a way of importing mostly used for testing? And thus really just a dev option?

I mean, the UX of these files is not really there compared to era (where to find them, command line repeat, upfront validation not existing?, etc). Hence, to not clutter cli UX here, would it not be better to be a debug/hidden flag?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah does make sense
making it hidden like the rockdb params would be the best idea then imo

case config.cmd
of NimbusCmd.`import`:
importBlocks(config, com)
of NimbusCmd.`import - rlp`:
Copy link
Copy Markdown
Contributor

@bhartnett bhartnett Jan 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing this will have broken the hive tests. See here: https://github.com/ethereum/hive/blob/0976a64d8d4e522a4eb5a8c30d0b0b9c8e8fd41d/clients/nimbus-el/nimbus.sh#L91.

So hive needs to be updated as well.

@advaita-saha @RazorClient

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The general idea was to transition the hive tests to the single binary's commands as per #3793; however, as pointed out, the test will break
so question is, revert this or update Hive?

cc: @advaita-saha

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing this will have broken the hive tests. See here: https://github.com/ethereum/hive/blob/0976a64d8d4e522a4eb5a8c30d0b0b9c8e8fd41d/clients/nimbus-el/nimbus.sh#L91.

So hive needs to be updated as well.

@advaita-saha @RazorClient

Aware, hive sync tests are already broken
Will make a PR to harmonise everything along with transition to single binary

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, for BALs we use the eels/consume-rlp hive tests which use this rlp import command as well. And these have been working fine up to this point.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes
ethereum/sync tests fails

I made a very bandaid like fix for that

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@RazorClient RazorClient deleted the era-fix branch March 31, 2026 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants