View in context in the libbitcoin Slack #general mirror.
protocol_bitcoind -> protocol_http -> protocol. This simply overrides protocol_http::handle_receive_post() and dispatches the universal request object (which automatically detects and parses up the json body), via the dispatcher for the bitcoind interface. So just a matter of implementing each of the methods. Initially it's just the node methods, so something like this:
/// Blockchain methods.
method<"getbestblockhash">{},
method<"getblock", string_t, optional<0_u32>>{ "blockhash", "verbosity" },
method<"getblockchaininfo">{},
method<"getblockcount">{},
method<"getblockfilter", string_t, optional<"basic"_t>>{ "blockhash", "filtertype" },
method<"getblockhash", number_t>{ "height" },
method<"getblockheader", string_t, optional<true>>{ "blockhash", "verbose" },
method<"getblockstats", string_t, optional<empty::array>>{ "hash_or_height", "stats" },
method<"getchaintxstats", optional<-1_i32>, optional<""_t>>{ "nblocks", "blockhash" },
method<"getchainwork">{},
method<"gettxout", string_t, number_t, optional<true>>{ "txid", "n", "include_mempool" },
method<"gettxoutsetinfo">{},
method<"pruneblockchain", number_t>{ "height" },
method<"savemempool">{},
method<"scantxoutset", string_t, optional<empty::array>>{ "action", "scanobjects" },
method<"verifychain", optional<4_u32>, optional<288_u32>>{ "checklevel", "nblocks" },
method<"verifytxoutset", string_t>{ "input_verify_flag" },