btc: Output Descriptors (5)
2025/03/03
はじめに
Output Descriptors とは関係ないが、話の続きなのでタイトルはそのままにした。
Esplora API アクセス
BDK のサンプルコード は
Mutinynet が立てている Esplora の REST API にアクセスしている。
ウォレットとしてスキャンするところはやらないが、HDウォレットで作ったアドレスが使われているかどうかのチェックくらいはやりたい。
C言語で REST API にアクセスすると、cURL を使ったり JSON のデコードをしたりが面倒だ。
C++ なら何かないかと探すと、Microsoft がライブラリを作っていた。
メンテナンスモードになっているので、だいぶん枯れていると思って良いだろう。
サンプルコードを見ても C++ が新しすぎてよくわからなかったが、適当にまねをした。
JSON も扱えるようになっていてありがたい。
初見のアドレスが 50連続すると停止するはずだ。
$ ./tst
output[ex 0]: tb1pkar3gerekw8f9gef9vn9xz0qypytgacp9wa5saelpksdgct33qdqs257jl
output[ex 1]: tb1pv537m7m6w0gdrcdn3mqqdpgrk3j400yrdrjwf5c9whyl2f8f4p6qg5eh2l
output[ex 2]: tb1pzvynlely05x82u40cts3znctmvyskue74xa5zwy0t5ueuv92726s0cz8g8 (generated)
output[in 0]: tb1pr2xjacaxx5jeqmc44j0vv49j2ylh93hrxraklttry4xh7u932xns6rqysu
output[in 1]: tb1pqrhlqudwf49pye0777n6e3jsfvjq4xtznua479c93e6wrtcfkeqskr27ja (generated)
おわりに
C++ で Esplora API にアクセスした。