Meeting Summary:
The meeting focused on discussing error codes standardization and the status of the V1 release implementation. Simsonraj recommended leaving the legacy uncategorized error codes in Simulate V1 unchanged while addressing categorization in future versions, as some teams rely on Simulate V1. Chase identified that none of the clients currently comply with the proposed standard and emphasized the need for a champion to drive implementation through major clients like GoEthereum. The discussion revealed that several GoEthereum PRs are blocking the V1 release progress, with Chase having already pinged Marius and Felix for feedback but noting their conservative approach to merging changes. The team also addressed harmonization issues with execution APIs, where different clients have significant variations in their trace method outputs, agreeing that a concrete spec needs to be written first before standardizing the trace namespace.
Click to expand detailed summary
Simsonraj recommended leaving the legacy uncategorized error codes in Simulate V1 unchanged and addressing user concerns in future revisions like Simulate V2. He suggested proceeding with the current categorization approach and potentially cleaning up error codes in upcoming updates.
Chase and Simsonraj discussed the need for a champion to push through the implementation of proposed standards in Ethereum clients, as none of the current clients are in compliance. Chase mentioned creating a PR that got blocked by suggestions from Sina and Felix, and Simsonraj offered to take ownership of the initiative by contacting Felix directly to set up a separate call and move the process forward. Both agreed that pushing the standards into actual clients is necessary to determine the direction rather than continuing to debate semantics.
Chase identified that the biggest blockers for the V1 release are the pending GoEthereum PRs that have received approval but haven’t been merged yet. He reached out to Marius and Felix regarding these PRs, noting they are likely busy with Glamsterdam work. Once all the PRs are merged, significant progress can be made on related issues linked in the meta issue.
Chase and Boma discussed several blocked issues, including the need to update the index specification to be BlockGlobal and fix some client PRs. They noted that Felix’s work on execution APIs and Hive is currently in progress and may supersede Chase’s PR once completed, providing a more flexible solution for schema validation. The discussion also covered other blocked items, including a slot number issue requiring Glamsterdam support and a dependency on the execution witness spec, with Chase agreeing to CC Felix regarding the EIP 1898.
Chase explained that the majority of items in the Meta V1 release tracker are blocked by four pending Go Ethereum PRs, creating a dependency chain where EthSimulate V1 must be fixed before upgrading to Glamsterdam, and the Go Ethereum PRs need to be merged first. Boma suggested waiting for the team to become less busy or potentially pushing them to prioritize these PRs since they are blocking the release. The discussion ended with Gravesy joining to ask about an open issue regarding the harmonization of tracing APIs, though the details of this question were not captured in the transcript.
Chase and crebsy discussed the need to unify differences in client implementations of the trace namespace before creating a specification. Chase emphasized that GoEthereum is the only client not supporting the Trace namespace, while others implement it but with slight differences. They agreed that unifying these differences into a concrete spec and getting client agreement is the next step.
Chase and crebsy discussed the potential addition of the Trace namespace, though Chase indicated it was not a current priority due to focus on releasing V1 of the spec. Chase explained that once the current priorities are addressed, including updating Glamsterdam and fixing simulate, more cycles would be available to work on the Trace namespace specification. The discussion highlighted the need for a clear spec defining the schema, response format, and mandatory/optional values before any client PRs could be created.
The team discussed standardizing trace functionality across Ethereum clients, with Chase suggesting they should create a new spec-based standard (TraceV2) rather than adapting existing methods to address current inconsistencies between clients like Etherscan, Nethermind, and Besu. Chase recommended creating a comparison table showing how different clients currently implement tracing and the minimal changes required for alignment, similar to what was done for the opcode tracer. Boma asked about the process for getting client feedback on the proposal, and Chase advised making a formal proposal to gather opinions and create observable differences between current implementations and the proposed standard.
The team discussed potential contributions to a project, with Chase indicating he could potentially work on it using AI agents but noted it wasn’t a priority. Boma offered to help if needed, and Ahmad provided an update on his current contributions, mentioning he has a PR out (number 867) and is working to be more helpful by attending meetings more regularly. The conversation ended with Boma noting the next meeting would likely be in two weeks, around the time of their release.
Next Steps:
- Simsonraj: Own the error code standardization effort, contact Felix directly (DM and/or call) to discuss and push for adoption in Geth.
- Chase: Update the spec to specify that the index should be BlockGlobal.
- Chase: Continue to follow up with Marius and Felix to get the 3-4 Go Ethereum PRs merged, as they are the main blockers for the EthSimulate V1 release.
- Chase: Ping Panthik (Bentek) about creating a proposal/spec for harmonizing the Trace namespace APIs, possibly using AI assistance.
- Boma: Consider taking a look at the Trace namespace harmonization issue to see if it’s something that can be handled.
Recording Access: