ethereum / execution-apis

Collection of APIs provided by Ethereum execution layer clients

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Come up with uniform versioning scheme for methods

MicahZoltu opened this issue · comments

There are several possibilities here:

  1. add version parameter to the end - I think this is mostly backward compatible, if it isn't added just assume v1
  2. add version parameter at beginning - not backwards compatible, benefit is ???
  3. all methods accept 1 object with version as top-level value then args - ???
  4. add new method for backwards incompatible changes - similar to engine api
  5. new method which says which version the api is and move the entire api forward with new version updates
  6. ??? probably a lot more possibilities that haven't been thought through

Originally posted by @lightclient in #383 (comment)

I am partial to (1) or (2). I like (2) long term as it in theory allows for partial JSON parsing to deduce version prior to fully parsing the payload, but I agree that (1) allows us to retroactively add versioning to all existing methods which is really compelling.