View in context in the libbitcoin Slack #general mirror.
bitcoind, electrum and stratum_v1 services are json-rpc, versions 1 and 2 and over tcp, http, and websockets. These are materially different from a REST interface, and share a common parse mechanism. I'm getting close to completion of the json-rpc parser that can drop into the above transport services allowing us to seamlessly support these as well. websockets and http processing are facilitated by boost::beast and with this parser, implementation of the API's is straightforward. stratum_v1 is a proprietary interface, so it just ends up with a custom parser, similar to the json-rpc implementation. Finally tls can be transparently layered over all of these using the same implementation.
So for now I've activated the endpoints, and a couple are useful. I'll be adding to these rapidly. Presently this is all implemented in libbitcoin-network apart from settings parsing, which is in libbitcoin-node, but as soon as I start implementing store queries it all all move up to node. Eventually we'll probably move the endpoint specific behavior into a new libbitcoin-server, leaving the primitives (e.g. the parsers and base types) in network.