質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.63%

Bitcoin testnet3 faucetからの入金が、bitcoin-cli getreceivedbylabelおよびgetbalanceで確認できない

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 298

TakamiChie

score 51

前提・実現したいこと

ビットコインのプログラム作成にあたり、以下の処理を実現したいと思っています。

  • bitcoindをDockerのコンテナで起動する
  • bitcoin-cliを使って、入金を確認する(最終的には他のコンテナよりPHPを使って同一処理を行う予定)
  • 複数のlabel間で送金を行う

環境構築

上記の目的のため、bitcoindのコンテナを以下の構成で立ち上げました。

  • Ubuntu 18.04.2 LTS 
  • bitcoind v0.17.1.0-gef70f9b52b851c7997a9f1a0834714e3eebc1fd8
  • 解放ポート:8332 8333 18332 18333
  • 試験用含め、vim、git、curl、pwgen、supervisor、software-properties-common、libstdc++-7-dev、bitcoindをインストール
  • supervisorよりbitcoindを起動

testnetに接続するため、bitcoin.confに以下の設定を行いました。

testnet=3
maxconnections=4
port=18333
deamon=1
server=1
rpcallowip=172.17.0.1 # dockerのdocker0.inet addr
rpcport=18332
rpcuser=***
rpcpassword=***

発生している問題・エラーメッセージ

入金用のテスト口座に入金するため、まずは同一コンテナで以下の手順を行いました。

  • bitcoin-cli getnewaddress chie1を実行し、その出力をコピー
  • Bitcoin testnet3 faucetで上記アドレスに入金依頼
  • 実際に入金が行われたことを確認(結果ページより遷移できるBLOCKCYPHERのサイトより、確かにBALANCEの値が変化していることを確認)

この上で、上記コンテナよりbitcoind-cli getbalanceおよびbitcoin-cli getreceivedbylabelコマンドを実行したところ、0x00000000と表示され、入金が確認できませんでした。

試したこと

念のためbitcoin-cli -getinfoで、testnetに接続していることも確認しました。

{
  "version": 170100,
  "protocolversion": 70015,
  "walletversion": 169900,
  "balance": 0.00000000,
  "blocks": 60296,
  "timeoffset": 0,
  "connections": 4,
  "proxy": "",
  "difficulty": 4,
  "testnet": true, # testnet接続を確認
  "keypoololdest": 1553233807,
  "keypoolsize": 1000,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "warnings": ""
}

bitcoind起動時に-testnetオプションを追加してbitcoindを起動するように変更→変化無し

ディスク領域不足も疑い、Docker仮想マシンのHDDを20GBから300GBに変更(した後に手順を最初からやりなおし)→変化無し

補足情報(FW/ツールのバージョンなど)

  • ホストOS:Windows 10 Home Ver 1809 Build 17763.379
  • Docker環境:Docker Toolbox(Virtual Box)

以上、よろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • urbainleverrier

    2019/03/23 04:19

    回答が付いてなかったので。
    ブロックの高さは、最新の分まで積まれてますか?

    キャンセル

  • TakamiChie

    2019/03/25 02:32

    コメントありがとうございます。ブロックが最新の分まで取れているのかどうかは、どう判断すれば良いのでしょうか。

    キャンセル

  • TakamiChie

    2019/03/25 11:08

    独自に調べた結果、[ブロックチェーン情報取得 \- ブロック \- Bitcoin ClockUpMemo](https://bitcoin.clock-up.jp/contents/block/blockinfo)にて、`bitcoin-cli getblockchaininfo`を使えば分かることが分かりました。ご指摘ありがとうございます。

    キャンセル

回答 1

check解決した方法

0

ブロックが最後まで読み込まれていないため、入金が確認できていませんでした。bitcoin-cli getblockchaininfoで取得できるblocks==headersで、読み込み完了を確認することができました。

{
  "chain": "test",
  "blocks": 1485866,
  "headers": 1485866,
  "bestblockhash": "00000000000000b7e18fcd96cecc5955a8a133abff9e78f5c44f3b207d5daea3",
・・・
}

約2時間程度コンテナを実行したまま放置してからbitcoind-cli getbalanceすることで、入金を確認することができました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.63%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる