Closed
Description
At present, we support a single version of RPC API on a node. I propose we version our RPC API such that we can roll out substantial API changes in a non-breaking way.
Specifically, our current RPC API (JSON, HTTP, and Websocket) is available at the root of the node, e.g. /status
, /block
, etc.
We need to
- Make our current RPC API is also available under a
/v1
sub-path, e.g./v1/status
,/v1/block
, etc.- JSON
- Websocket
- HTTP
- Publish the extended API
With this change we can easily roll out new RPC API versions with "breaking" changes as compared to previous versions, e.g. under a /v2
, /v3
, etc. path
Eventually we would be able to deprecate the APIs available at the root, then we'd deprecate the /v1
API, etc. but this process would be progressive and consultative with integrators.