|
| 1 | + |
| 2 | +### Are there assets I can use to talk about OpenRPC? |
| 3 | + |
| 4 | +[open-rpc/design](https://github.com/open-rpc/design/) houses all the design assets for OpenRPC |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | +### Why should I use OpenRPC to describe my JSON-RPC API? |
| 10 | + |
| 11 | +OpenRPC documents are both machine and human readable and clearly define your API. |
| 12 | +Use cases for machine-readable JSON-RPC API definition documents include, but are not limited to: |
| 13 | + - interactive documentation |
| 14 | + - code generation for documentation |
| 15 | + - clients |
| 16 | + - servers |
| 17 | + - mock servers |
| 18 | + - automation of test cases |
| 19 | + - improve maintainability |
| 20 | + - reduce code and mistakes |
| 21 | + - parallel teams building of client/server based on the agreed spec |
| 22 | + |
| 23 | +### Why JSON-RPC? |
| 24 | + |
| 25 | +[REST is pretty ambiguous](https://www.nurkiewicz.com/2015/07/restful-considered-harmful.html). It is unlikely that any two developers will produce the same REST API. JSON-RPC is a serious contender for services because it is simple, JSON based, and protocol agnostic. |
| 26 | + |
| 27 | +There is a growing need for a standard way to describe the critical open source infrastructure that depends on it. |
| 28 | + |
| 29 | +### Is there anywhere I can try OpenRPC? |
| 30 | + |
| 31 | +Yes, you can experiment with OpenRPC using our [Playground](https://playground.open-rpc.org/) tool. There are pre-built examples in playground that can be used for learning and reference. |
| 32 | + |
| 33 | +### What uses JSON-RPC in the wild? |
| 34 | + |
| 35 | +- [Bitcoin](https://en.bitcoinwiki.org/wiki/JSON-RPC) |
| 36 | +- [Ethereum Classic](https://github.com/ethereumproject/wiki/wiki/JSON-RPC) |
| 37 | +- [Ethereum](https://github.com/ethereum/wiki/wiki/JSON-RPC) |
| 38 | +- [Tezos](https://tezos.gitlab.io/alphanet/tutorials/rpc.html) |
| 39 | +- [Monero](https://github.com/monero-project/monero) |
| 40 | +- [Qtum](https://qtumproject.github.io/qtumjs-doc/) |
| 41 | +- [Quorum](https://github.com/jpmorganchase/quorum) |
| 42 | +- [Zcash](https://github.com/zcash/zcash) |
| 43 | +- [Ripple](https://developers.ripple.com/get-started-with-the-rippled-api.html) |
| 44 | +- [Litecoin](https://github.com/litecoin-project/litecoin) |
| 45 | +- [Dash](https://github.com/dashpay/dash) |
| 46 | +- [Dogecoin](https://github.com/dogecoin/dogecoin) |
| 47 | +- [Visual Studio Language Server Extensions](https://code.visualstudio.com/api/language-extensions/language-server-extension-guide) |
| 48 | +- [Microsoft Language Server](https://docs.microsoft.com/en-us/visualstudio/extensibility/language-server-protocol?view=vs-2017) |
| 49 | +- [Microsoft SQL Tools Service](https://github.com/Microsoft/sqltoolsservice/) |
| 50 | +- [Kodi](https://kodi.wiki/view/JSON-RPC_API) |
| 51 | +- [OpenDaylight](https://www.opendaylight.org/) |
| 52 | +- [RANDOM.ORG](https://api.random.org/json-rpc/1/) |
| 53 | +- [FreeIPA](https://www.freeipa.org) |
| 54 | +- [PPIO](https://www.pp.io) |
| 55 | +- [Tarantool](https://github.com/tarantool/nginx_upstream_module) |
| 56 | + |
| 57 | +### Is the specification available in languages other than English? |
| 58 | + |
| 59 | +Currently the specification does not support any languages other than English. However, we are considering possible solutions |
| 60 | +to the situation. If you wish to follow or contribute to the discussion it can be found [here](https://github.com/open-rpc/spec/issues/252). |
0 commit comments