There are some crates that provide functionality to support the JSON-RPC protocol. Mostly, crates support only the server or the client side, not both. Some crates don't support asynchronous computations either.
Understanding JSON-RPC
How JSON-RPC works
The JSON-RPC protocol uses JSON messages in the following format for a request:
{"jsonrpc": "2.0", "method": "substring", "params": [2, 6, \"string\"], "id": 1}
The preceding JSON message calls the substring remote method of a server that can return a result like this:
{"jsonrpc": "2.0", "result": "ring", "id": 1}
It's worth nothing that a client...