Page MenuHomePhabricator

rpc: Handle `getinfo` locally in bitcoin-cli w/ `-getinfo`

Authored by nakihito on Apr 9 2019, 01:06.



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

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 <>

Add test for bitcoin-cli -getinfo

Extra-Author: Andrew Chow <>

Backport of PR10871

Completes T586

Test Plan

make check
bitcoin-cli -getinfo

Diff Detail

rABC Bitcoin ABC
Lint Not Applicable
Tests Not Applicable

Event Timeline

Owners added a reviewer: Restricted Owners Package.Apr 9 2019, 01:06
deadalnix added inline comments.
235 ↗(On Diff #8003)

Fix comment layout

This revision is now accepted and ready to land.Apr 9 2019, 14:54
nakihito marked an inline comment as done.

Fixed comment format.

This revision was automatically updated to reflect the committed changes.