diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2016-09-29 16:45:19 +0200 |
---|---|---|
committer | Andrew Chow <achow101-github@achow101.com> | 2017-09-27 21:53:07 -0400 |
commit | 382625318d8734fd71a6c9620d3e88b5617da0c5 (patch) | |
tree | 69bc966e75c296275fcdd62062712a1fd82c13f1 /src/rpc/protocol.h | |
parent | ea729d55b4dbd17a53ced474a8457d4759cfb5a5 (diff) |
rpc: Handle `getinfo` locally in bitcoin-cli w/ `-getinfo`
This adds the infrastructure `BaseRequestHandler` class that takes care
of converting bitcoin-cli arguments into a JSON-RPC request object, and
converting the reply into a JSON object that can be shown as result.
This is subsequently used to handle the `-getinfo` option, which sends
a JSON-RPC batch request to the RPC server with
`["getnetworkinfo", "getblockchaininfo", "getwalletinfo"]`,
and after reply combines the result into what looks like a `getinfo`
result.
There have been some requests for a client-side `getinfo` and this
is my PoC of how to do it. If this is considered a good idea
some of the logic could be moved up to rpcclient.cpp and
used in the GUI console as well.
Extra-Author: Andrew Chow <achow101@gmail.com>
Diffstat (limited to 'src/rpc/protocol.h')
-rw-r--r-- | src/rpc/protocol.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/rpc/protocol.h b/src/rpc/protocol.h index 5c9c64f67d..bba7438c95 100644 --- a/src/rpc/protocol.h +++ b/src/rpc/protocol.h @@ -97,5 +97,7 @@ bool GenerateAuthCookie(std::string *cookie_out); bool GetAuthCookie(std::string *cookie_out); /** Delete RPC authentication cookie from disk */ void DeleteAuthCookie(); +/** Parse JSON-RPC batch reply into a vector */ +std::vector<UniValue> JSONRPCProcessBatchReply(const UniValue &in, size_t num); #endif // BITCOIN_RPCPROTOCOL_H |