JSON-RPC Specifications and Testing Community Call Nov 27th, 2018

community-call
json-rpc

#1

An initial call to gather interest and assign next steps in improving / solidifying the JSON-RPC specification for Ethereum clients, and how to run community resources for testing and validation.

This is part of a wider effort to improve standards and specifications, including finding maintainers for major parts of the Ethereum stack, and collecting interested stakeholders who want to work on these tasks.

Call at8am PST, Nov 27th, Zoom Video https://zoom.us/j/946476323

Github Agenda thread https://github.com/spadebuilders/community/issues/15

Transcript notes on HackMD https://hackmd.io/FUE13Uh_Rj2qLoJOnHILqw


@Arachnid made a call for documenting JSON-RPC in an EIP https://github.com/ethereum/EIPs/issues/1442

@bitpshr has added a PR starting this work https://github.com/ethereum/EIPs/pull/1474

This will be an organizing and initial “bootup” call to see who will be participating, how we will communicate, and so on. Feel free to use this community space for now, with notes preferred in HackMD format.


Highlighting the other standards & specs that make up Ethereum
#2

Thanks to everyone on the call today. Full transcript is on HackMD https://hackmd.io/FUE13Uh_Rj2qLoJOnHILqw?both

It is clear that there are two inter-related concerns. One is the production and maintenance of a well-specified JSON-RPC standard. The other is testing and interop of implementations.

Boris is volunteering to put some time in to project manage and coordinate efforts, mainly on the spec side and bridging to the EEA.

The testing process is something that @pipermerriam’s team at the EF is taking some responsibility for, and as noted below, there are others wanting to collaborate.

Action Items / High Level Notes

Everyone review the PR of the spec

Boris to setup separate repo, it may be easier to collaborate there than just in a single PR thread

Should there be a separate process for proposing JSON-RPC extensions?

  • breaking changes and/or major additions to the spec should likely be filed as EIPs
  • for convenience, working group have a separate repo
  • need to start working and see how it evolves
  • RFC process has new RFCs which supersede – in essence, we are on “version” 1474 of the spec once approved

Stakeholders include:

  • client devs, those looking to build a new, compatible client
  • middleware – web3js, ethers.js --> definitely need
  • devops / people looking to run many nodes
  • miners

Middleware Flags for Debug

  • many dapp developers don’t know that JSON-RPC exists – blame middleware for errors
  • talk to middleware about a debug flag or common approach to get at underlying responses

Testing

EEA

  • Boris to coordinate with Ron / Chaals / Alex at EEA
  • Loop in Ben Burns as EEA technical lead?
  • How will EEA contribute?
  • Likely next step is an internal EEA call with interested members & clients - Block Apps, Quorum, Clearmatics, Pegasys, etc.

#3

@boris thanks for the write up. I’m sorry I missed this morning’s call. I have a full time hire starting Monday who’s focus will include this effort. I’ll ensure that he’s part of this process going forward. The thing that I see my team providing is:

  • Creation and maintenance of a standardized test suite including documentation for how implementations should integrate with it.
  • Client agnostic tooling for execution of the test suite against a running client and potentially something to do fuzz testing as well.