Repository metrics
- Stars
- (27,997 stars)
- PR merge metrics
- (Avg merge 8d) (378 merged PRs in 30d)
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