SPVモードで自分のウォレットと関係ある取引だけ同期したい場合のやりとりを求める

技術メモ

今日は SPVモードで自分のウォレットと関係ある取引だけ同期したい場合のやりとりを求めてみる。

関係ある取引だけしたい場合は、filterloadを使うと思われる。

自信はないが以下2つの答えで迷っている。

S:version,R:verack,R:version,S:verack,S:filterload,S:getheaders,R:headers,{S:getdata,R:merkleblock}

もしくは

S:version,R:verack,R:version,S:verack,S:filterload,{S:getdata,R:merkleblock}

getheadersが必要なのかどうか。

上から順に解説していくと

version, verack
こちらは前回の記事でも記載していたので割愛。

filterload
BIP37を訳してくれているページ

filterloadのコマンドを実行すると、bloom filterで関連付けられたブロックのみ送られるようになる。
ここでわからないのが、いきなり getdata でよいのか、getblocks, getheaders を送信しなければあとの merkleblock は受信できないのかどうか。

この辺りは次回、なにかwalletソースを動かすか、サーバーソース見てみる。

そのあと、getdata を MSG_FILTERED_BLOCK (== 3) オプションでおくって
merkleblock を受けつける、、、はず。
特に順番に言及していないので実際の挙動見てみないとわからなさそう。

[追記]
S:version,R:verack,R:version,S:getheaders,R:headers,S:filterload,
{S:getblocks,R:inv,S:getdata,R:merkleblock,R:tx}
だそうです。

Sponsored Link

ビットコイン(Bitcoin)、イーサリアム(Ethereum)、リップル(Ripple)、ネム(NEM)などの仮想通貨を買うならコインチェックがおすすめです。

※アプリは指値売買ができず手数料が高いので、アプリをダウンロードするのではなくメール&パスワード登録へ!まずは5万円ほど入金して仮想通貨とブロックチェーンの世界を楽しんでください!

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin

コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


miningpoolhub
miningpoolhubのAPIを使って自動スイッチングを試してみる in ethOS

* アイキャッチの男性は、Flicker上のライセンスフリーの画像ひっぱってきているだけで、本文とま …

NEM
[memo] NEMを送金しようとするとFAILURE_TIMESTAMP_TOO_FAR_IN_FUTUREが出る

Docker上のコンテナで、NEM-libraryを使ってmosaicの送金を試していたところ FA …

NEM
NEMのテストネットワークで独自通貨を試す

NEMアプリケーションを作る際にテストネットワークでのテスト非常に重要になってきます。 このため今回 …