bitcoindに秘密鍵をインポートしたのに残高が反映されない件
表題の通りなのですが、
bitcoindに秘密鍵をインポートしたのに、
残高が0のままで焦りました。
その対応の記録です。
同じ問題で困っている方の一助になればと思います。
(1)秘密鍵をインポートする
念の為、秘密鍵のインポートの仕方を記載します。
bitcoindを立ち上げた後、以下のコマンドでインポートされます。
$bitcoin-cli importprivkey "bitcoinprivkey" ( "label" rescan)
引数に関して以下に解説を加えます。
引数名 | 解説 |
---|---|
bitcoinprivkey | 秘密鍵のこと。ただしWIF形式で指定します。 |
label (任意) | アカウント名を指定します。 |
rescan(任意) | ブロックチェーンを再読込する場合はtrueを指定します。 |
というところです。
最初rescanのことをうまく認識できておらず、
これが今回の問題の一番の要因となりました。。。
(3)ウォレットは秘密鍵をインポートした後の取引しか見ない
焦りながら情報を調べていった結果、
以下の記事を見つけ、
bitcoin coreのウォレットは、
"秘密鍵をインポートした後の取引しか見ない"ということが分かりました。
bitcoin.stackexchange.com
(4)インポートの前の履歴や残高を取得する場合
bitcoindにブロックチェーンを再読込するように
教えてあげないといけません。
コマンドは簡単で、
$ bitcoind -rescan
です。
再読込のため、
私のメモリ8GBのPCでは、
2時間弱かかりましたが、無事残高を正しく表示できました。
なお、bitcoin-cli importprivkey の引数の一つであるrescanについてです。
ここをtrueで指定してやると、勝手にブロックチェーンを再読込しそうなのですが、
機能しないようです。
以下の記事でそのようなことが報告されています。
github.com
これで無事、秘密鍵と残高が反映されました^^