The meeting focused on reviewing RPC compatibility testing updates and discussing several technical issues. The team reviewed a fix for error message checking in RPC compatibility that had been approved by Keri, with Felix explaining the implementation details and concerns about the custom comparison logic. They discussed the addition of the getStorageValues method and its upcoming testing in Hive compatibility runs. Mercy presented two PRs related to CPonym space implementation across different clients, with the team deciding to remove TXPoolInspect method due to its client-specific string responses. The group also reviewed documentation site versioning features and discussed the need for proper release tagging and GitHub action pipeline implementation. The conversation ended with a discussion about post-merge only clients and the challenges of supporting different Ethereum fork versions in testing, including considerations for creating profiles to handle varying client capabilities.
Click to expand detailed summary
The team discussed a fix for an error message checking issue in RPC compatibility testing. Felix explained that the change modifies the comparison to always remove certain error message combinations, particularly affecting the eSimulate V1 method. While acknowledging the solution is acceptable, Felix noted that the situation is avoidable from a specification perspective due to how eSimulate handles error codes and messages. The team also briefly mentioned that the testing build block V1 has been merged and most clients support it, and that a new getStorageValues method has been added to make Sina happy.
The team discussed removing the TXPoolInspect method from their implementation due to testing challenges and lack of standardization across clients. Felix explained that testing this method would be difficult due to shared state between tests and varying transaction pool policies across clients. The group agreed to make it spec-only for now, with plans to revisit testing approaches later. Chase also inquired about versioning on the production doc site, though this question was not fully addressed in the transcript.
The team discussed implementing version control for their documentation, where users can toggle between different versions. Felix explained that while they currently don’t have formal versioning, they plan to implement a GitHub action that will generate documentation sites for each tagged release, with the OpenRPC specification as an artifact attached to each release. The team agreed that starting to tag releases would help address both the version control issue and a related transaction pool problem.
The team discussed two main topics: release versioning and post-merge client compatibility. Felix explained that while they have made progress on adding version tags to releases, they still need to build a pipeline to handle tagged releases properly, including attaching OpenRPC JSON files and building documentation. Regarding post-merge clients, the team debated whether to create a separate profile for post-merge-only clients, with Felix noting that while it’s technically possible to generate a test chain without pre-merge blocks, it would require maintaining compatibility with older receipt formats. The group agreed that profiles would be needed to address this issue, though the exact implementation details are still being worked out.
Next Steps:
Felix: Review and merge the RPC compat error message checking PR, including looking into the code quality issues noted during discussion
Mercy: Remove TXPoolInspect from the txpool namespace PR based on team consensus to not standardize that method
Chase: Comment on the TXPool namespace PR to document the decision to exclude TXPoolInspect
Felix: Investigate and implement custom result validation framework for RPC Compat tests to handle TXPool content/status methods (where response depends on shared client state)
Felix/Team: Build the GitHub Actions pipeline that attaches OpenRPC JSON files as artifacts to tagged releases, and downloads per-version OpenRPC specs to build versioned documentation
Felix/Team: Create a new tagged release (or pre-release) to enable testing of the docs versioning dropdown feature added by Mercy’s PR
Tullio: Open a GitHub issue for the profile feature and link it as a dependency to the post-merge-only clients issue
Chase: Reach out to Etherex team to invite them to join the RPC Standards Call in the near future