BitcoinCoreを読む ~ client.cpp ~
What is
RPCのコマンドと引数をJSON(=UniValue)にConvertするためのクラスっぽい
新しいコマンド or paramsの追加方法
static const CRPCConvertParam vRPCConvertParams[]を変更する。追記、変更する際のフォーマットは以下の通り。
code: format
{ "method", index, "params name"}
フォーマットの説明
method: RPCのコマンド名。generatetoaddress とか signrawtransactionwithkey とかそういうの。
index: convert対象となるparameterのindex番号。
params name: convert対象となるparameterの名前。parameterをJSON形式で指定された時とかによろしく対応するためのもの?ぽい。
Convertの仕組み
vCRPCConvertParams[]に定義されたparameterがJSONへのconvert対象になる。
未定義のparameterは強制的にstr型と見なされる。
なので、str以外の型に変換して欲しい場合は、formatに従い定義する必要がある。
上記の理由より、vCRPCConvertParams[]にはindexが飛び飛びのものも定義されてるが、それはstr型で扱うparameterのindexは定義する必要がないから。