Feature Request: JSON-RPC support
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 437
Description
*Title*: *JSON-RPC over HTTP support*
*Description*:
JSON-RPC is a light-weight, transport-agnostic remote procedure call (RPC) protocol. The most common transport protocols are HTTP and WebSockets, and sometimes TCP and Unix domain sockets.
JSON-RPC is commonly used to provide remote access to management interfaces. It is particularly prevalent with cryptocurrency P2P clients, being the primary access method for the majority of projects.
A common use-case of an Envoy JSON-RPC filter is access control. For example, the `ext_authz` module could be used to limit access to harmless read-only methods to lesser privileged users, while allowing admins full control.
*Relevant Links*:
Specifications:
* JSON-RPC 1.0 Specification: https://www.jsonrpc.org/specification_v1
* JSON-RPC 2.0 Specification: https://www.jsonrpc.org/specification
Notable users:
* Ethereum clients: https://eth.wiki/json-rpc/API (Cloudflare: https://blog.cloudflare.com/cloudflare-ethereum-gateway/)
* Bitcoin Core: https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)
* Facebook's Diem: https://github.com/diem/diem/blob/master/json-rpc/json-rpc-spec.md
* Deluge Torrent Client: https://deluge.readthedocs.io/en/latest/devguide/how-to/curl-jsonrpc.html
Contributor guide
Assessment
This issue has not been assessed yet.