8000 rpc: Version the RPC APIs · Issue #75 · cometbft/cometbft · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
rpc: Version the RPC APIs #75
Closed
@thanethomson

Description

@thanethomson

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.

Metadata

Metadata

Assignees

Labels

P:integrator-experiencePriority: Improve experience for integratorsP:tech-debtPriority: Technical debt that needs to be paid off to enable us to move faster, reliablyrpc

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0