@RazorClient implemented system logs, required CL changes for the extra field still pending (EIP7807_FORK_EPOCH for activation)
@vineetpant demoed Kurtosis, there was an error in the activation logic where the log index didn't trigger (Orbstack -> Containers -> el-...-nimbus -> Files tab -> network-metadata/genesis.json contains the timestamp; curl '127.0.0.1:<cl-http-port>/eth/v2/beacon/blocks/head' | jq '.data.message.body.execution_payload' to see the logs bloom)
EPF day with presentations on 18 Nov at Devconnect!
2025-10-14
Nimbus
@RazorClient looked into EIP-7708 (ETH transfer emits logs) and EIP-7799 (System logs), there are a couple open questions. @etan-status made an add-on PR that resolves the TBDs (each outer transaction gets logged regardless of value, as well as each internal non-zero value transfer). For the SSZ work, the extra receipt fields needed have been added to BaseVMState. Further, a question was raised whether eth_getProofs should be looked into; @etan-status thinks it's too early for that and would distract from higher priority items
@vineetpant is looking to consume the test vectors and check fork activation with Kurtosis devnet, @RazorClient will assist
Reth
@18aaddy continued testing low level functions for the log index and is working on computing the log index root hash. Tests are an open question, @RazorClient offered to sync with @vineetpant and pointed to the test vectors in the Go implementation; however, those are based on an older ProgressiveList implementation and may have a different root hash
@RazorClient synced with @danceratops regarding tests, suggestion to use Nimbus t8n tool. Questions regarding best way to implement reorg tests, maybe doable with Hive, a sequence of newPayload, forkchoiceUpdated + checks should be good enough. As SSZ work is mostly done, proposed to also implement EIP-7708 and EIP-7799, the SSZ branch is best for this, as EIP-7745 is unaffected by them, and is already challenging to do standalone
@vineetpant reported core implementation of EIP-7745 is done, wondering about how to test. Discussed either using eth_getBlockByNumber, extending t8n tests (but reorgs are challenging), or waiting for Reth to be ready and launching a Kurtosis network that supports both Nimbus and Reth
2025-09-30
Nimbus
@vineetpant added support for the EIP-7745 fork, and tested locally as the Kurtosis config issue persisted
@RazorClient attended ETHGlobal New Delhi, and is on the final portion of SSZ block implementation (remaining challenges: SetCode authorizations, some u64 / u256 mismatches, and a few SSZ root mismatches). Regarding testing, reached out to @danceratops for contributing to STEEL
Reth
@18aaddy attended ETHGlobal New Delhi, synced up with @SkandaBhat, and continued with the EIP-7745 work. Testing is based on comparing against Geth's log root hash; debugging the tree structure is not easy
@vineetpant mentioned issues with Kurtosis startup (possibly related to the new eip7745Time), and also raised a conflict with the existing RLP log type that's still used in receipts when using STEEL
Renaming the log type that's used for the index could resolve this, so that receipts are kept untouched
@RazorClient is mostly ready, but roots don't match yet between STEEL and Nimbus (including for withdrawals etc); some test cases cannot get the root in Nim. Idea to research SSZ engine API
@etan-status expressed interest in feedback that could be upstreamed into the specs (inefficiencies, ideas etc). Extending STEEL tests with @danceratops would be very valuable for other implementers
Reth
@SkandaBhat raised a PR for Reth (feedback welcome) with most types in crates/log-index/common/src/types.rs that is on par with the Geth functionality. Note that this is only for log query acceleration, it does not come with the consensus changes. Speedup is about 2x, receipts handling slowing it down
@vineetpant extended Nimbus BaseVMState for stateful log index (no persistence yet) and has Nim unit tests, expects reaching M0 in 2 weeks
@RazorClient has completed SSZ hash_tree_root for receipts and transactions, and has Nim tests that verify SSZ encoding and hashing against expectations
Integrating tests into STEEL pending, structure to be decided together with @danceratops
Reth
@18aaddy finished writing the log_index_hasher logic, next working on basic unit tests
@etan-status bumped EIP-7495 to revert the mix-in back to ProgressiveBitlist for its simplicity, and implemented M3 in Python and Nim. CompatibleUnion was split off into EIP-8016, implementations for Python and Nim in progress
For testing, Kurtosis config will be updated to have both eip7745Time and eip7807Time keys (controllable via eip7745_fork_epoch / eip7807_fork_epoch config keys). Activation order is flexible, can also be both at same time
@vineetpant progressed on log index implementation and also started extending EELS with unit tests; Logs bloom is not yet updated for M0
@RazorClient is adopting SSZ transaction and receipt types in the code base, and adding tests with help of @advaita-saha
Reth
@18aaddy attended ETHVietnam (small event with ~16 projects), and working on the log index root hash and tree structure; tests are being based on the Go implementation, the EELS tests could possibly also be integrated
@SkandaBhat added log index as a sync stage to Reth, and updated eth_getLogs to access the log index for acceleration if available
@etan-status integrated the feedback from @pk910 into EIP-7495, ProgressiveContainer now mixes in a ProgressiveBitlist instead of a Bitvector[256] to avoid design space limits
@taxmeifyoucan asked if a reduced Pureth scope may be integrated into Glamsterdam
@etan-status mentioned that the SSZ library changes might be small enough to combine with the ePBS headliner, so that SSZ library readiness cannot be an argument against Pureth for H fork anymore
@vineetpant learning Nim language, implemented the new data structures relevant for EIP-7745, and focusing on helper functions next. M0 as a target looks good
@RazorClient made progress on a test suite for SSZ execution blocks, and started implementing SSZ transactions and receipts in Nimbus
Proposed to give a Chinese talk about Pureth, or at least translate the available resources to Chinese language
There will be another event in Spring with focus on the business side
2025-07-22
@etan-status to set up a page with subtasks for EIP-7745
Emit hash_tree_root of log index into the existing logsBloom field to avoid mechanical followup changes (similar to current Geth branch)
List[type, large N] instead of ProgressiveList until SSZ libraries are ready
Provide list of milestones, with a concrete format to target
Provide Kurtosis config with eip7745 and eip7919 fork timestamps for feature activation. All others should provide a branch that can be pulled into Kurtosis