/awesome-json-rpc

Curated list of JSON-RPC resources.

awesome-json-rpc Awesome

Curated list of JSON-RPC resources.

Contents

What is JSON-RPC?

JSON-RPC is a remote procedure call protocol used by microservices, IoT and cryptocurrencies to expose APIs. It is a very simple protocol, defining only a few data types and commands. JSON-RPC allows for notifications (data sent to the server that does not require a response) and for multiple calls to be sent to the server which may be answered out of order.

Official

Libraries

  • Javascript

  • Swift

    • JSONRPCKit - A type-safe JSON-RPC 2.0 library purely written in Swift.
  • .NET

    • Microsoft/vs-streamjsonrpc - The StreamJsonRpc library offers JSON-RPC 2.0 over any .NET Stream, WebSocket, or Pipe. With bonus support for request cancellation, client proxy generation, and more.
    • JsonRpc.Router - A .NetStandard 2.0 IRouter implementation for Json Rpc v2 requests for Microsoft.AspNetCore.Routing.
    • JSON-RPC.NET - JSON-RPC.Net is a high performance Json-Rpc 2.0 server, leveraging the popular JSON.NET library. Host in ASP.NET, also supports sockets and pipes, oh my!
  • Nim

    • nim-json-rpc - Nim library for implementing JSON-RPC clients and servers
  • Golang

    • go-ethereum/rpc - Package rpc implements bi-directional JSON-RPC 2.0 on multiple transports.
    • osamingo/jsonrpc - The jsonrpc package helps implement of JSON-RPC 2.0 in golang
    • hyperledger/burrow - Burrow is a fully fledged blockchain node and smart contract execution engine, with an RPC service!
  • Python

    • pavlov99 - JSON-RPC 1/2 transport implementation. Supports python 2/3 and pypy.
  • PHP

  • C

    • cesanta/mjson - C/C++ JSON parser, emitter, JSON-RPC engine for embedded systems
  • Ruby

    • helios-technologies/json-rpc - Implementation of JSON RPC 2.0 protocol. It allows you to create easily a json rpc server in pure Rack, in Rails, or asynchronous using Thin and EventMachine.

Framework Integrations

Tools

  • ApEye.org - APEye is a jQuery widget for issuing HTTP requests
  • JSON-RPC 2.0 Shell - Interactive RPC shell for rapid querying, testing and debugging of JSON-RPC 2.0 web services

Interface Description

Uses of JSON-RPC

  • Arm mbed IoT Platform - Arm Mbed OS together with the Pelion IoT Platform provide a transformative device-to-data platform for connected IoT that empowers an intelligent enterprise.
  • Bitcoin - Bitcoin is a decentralized cryptocurrency created in 2008 by the pseudonymous Satoshi Nakamoto.
  • Dash - Dash is Digital Cash You Can Spend Anywhere.
  • Dogecoin - Dogecoin is a cryptocurrency featuring a likeness of the Shiba Inu dog from the "Doge" Internet meme as its logo.
  • Ethereum Classic - Ethereum Classic is an open-source, public, blockchain-based distributed computing platform featuring smart contract (scripting) functionality that was a result of the DAO fork.
  • Ethereum - Ethereum is an open-source, public, blockchain-based distributed computing platform and operating system featuring smart contract (scripting) functionality.
  • FreeIPA - Manage Linux users and client hosts in your realm from one central location with CLI, Web UI or RPC access. Enable Single Sign On authentication for all your systems, services and applications.
  • Kodi - Kodi is a free media player that is designed to look great on your big screen TV but is just as home on a small screen.
  • Litecoin - Litecoin is a cryptocurrency that enables instant payments to anyone in the world and that can be efficiently mined with consumer-grade hardware.
  • Microsoft Language Server - Underlying Language Server protocol for vscode
  • Microsoft SQL Tools Service - SQL Query and Management over JSON-RPC.
  • Monero - the secure, private, untraceable cryptocurrency.
  • OpenDaylight - OpenDaylight (ODL) is a modular open platform for customizing and automating networks of any size and scale.
  • PPIO - A decentralized data storage and delivery platform for developers that value affordability, speed, and privacy.
  • Qtum - Qtum is an open sourced public blockchain platform, leveraging the security of UTXO while enabling multiple virtual machines including EVM and the revolutionary x86 VM.
  • Quorum - A permissioned implementation of Ethereum supporting data privacy.
  • RANDOM.ORG - RANDOM.ORG offers true random numbers to anyone on the Internet. The randomness comes from atmospheric noise, which for many purposes is better than the pseudo-random number algorithms typically used in computer programs. People use RANDOM.ORG for holding drawings, lotteries and sweepstakes, to drive online games, for scientific applications and for art and music. The service has existed since 1998 and was built by Dr Mads Haahr of the School of Computer Science and Statistics at Trinity College, Dublin in Ireland. Today, RANDOM.ORG is operated by Randomness and Integrity Services Ltd.
  • Ripple - Ripple is a real-time gross settlement system, currency exchange and remittance network created by Ripple Labs Inc., a US-based technology company.
  • Tarantool - Get your data in RAM. Get compute close to data. Enjoy the performance. (Provides nginx upstream module to support JSON-RPC)
  • Visual Studio Language Server Extensions - The Editor Extensions are build on the Language Server. It's Interface is over JSON-RPC.
  • Zcash - Zcash is a cryptocurrency aimed at using cryptography to provide enhanced privacy for its users compared to other cryptocurrencies such as Bitcoin.