問題タブ [bitcoin-testnet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - docker コンテナーで実行されている Bitcoin テストネットに接続する方法
私はいくつかのビットコイン関連のコードをテストしており、それをテストするために、docker コンテナー内に bitcoin-testnet-box をインストールしました。
正常に動作しており、コンテナー内でコマンドを実行して結果を確認できます。
Dockerfile はポート 1900149155
を公開しています。これは、インスタンスの 1 つの RPC ポートとしてポートにマッピングしており、 node-bitcoinbitcond
を使用して通信しようとしています。
現在の難易度を取得することを目的とした簡単なテストを作成しました。
これは次のエラーで失敗していました (以下の更新を参照)。
{ [エラー: ECONNREFUSED の接続] コード: 'ECONNREFUSED'、エラー番号: 'ECONNREFUSED'、syscall: 'connect' }
docker ps
ショーの概要
ホストを「localhost」と「0.0.0.0」の両方に変更しようとしましたが、同じ結果が得られました。
ノードとビットコインのテストは実際には何も変わっていないので、明らかに単純なものが欠けています。
実行に使用されたコマンドbitcoin-testnet-box
は
私は何を間違っているのでしょうか?
アップデート
以下に提案されているように変更bitcoin.conf
しましたが、エラーメッセージは次のとおりです
私bitcoin.conf
のように見えます
別の更新
docker
を使用して Mac で実行していることを説明する価値があるboot2docker
ので、参照している IP 番号はdocker ip
、Mac 自体の IP ではなく、実行時に表示される IP です。NodeJS
boot2docker VM や実際の Docker コンテナーではなく、Macを使用してテストを実行しています。そのため、念のため、ファイルにも( Mac の IP はrpcallowip=192.168.1.4
どこにあるのか) を追加してみました。残念ながら違いはありませんでしたが、まだ応答があります。192.168.1.4
bitcoind.conf
{ [Error: Invalid params, response status code: 403] code: -32602 }
また、bitcoin.conf ファイルの内容と照らし合わせて、ユーザー名とパスワードを 3 回チェックしました。
以下の Chris McKinnel の提案netstat -tunlp
に従って、docker コンテナー内で実行したところ、次のように表示されます。
だから私もrpcallowip=0.0.0.0
自分のbitcoin.conf
ファイルに追加しました。残念ながら、まだ違いはありません。
最後に解決策
rpcallowip=*
以下の設定で問題が解決した Chris McKinnel に再度感謝します。もちろん、これはまったく新しい問題を引き起こしますが、私はその橋に着いたら燃やします. 今のところ、Bitcoin プロセスをとても楽しくテストできます。
bitcoin - ビットコインのマイニングがうまくいかないのはなぜですか?
デーモンも実行しましたが、動作していませんエラーは次のとおりです。
bitcoin - ハードコーディングされたノードに接続した後、ビットコイン ピア検出はどのように機能しますか?
私はビットコインのソースコードをいじくり回しておりtestnet
、次の変更を行ったモードでのピア発見メカニズムの正確な動作を理解しようとしています:
bitcoind を強制的にフォールバックさせてハードコードされたノードに接続するために、DNS シード検出を無効にしました。
ハードコードされたデフォルトのノードを既知の 4 つのアドレスに変更しました。A、B、C、D としましょう。これらは常にオンラインであることを確認しています。
ここで、bitcoind クライアント (E と呼びます) を実行すると、A、B、C、または D のいずれかに接続され、同じ修正バージョンの bitcoind が実行されます。最初に接続するハードコーディングされたノードからピアアドレスを取得し、メッセージを交換getaddr
しaddr
ますが、その後どのように処理されるかはわかりません。次のクエリがあります。
a. ノードがフォールバックしてハードコードされたノードに接続する場合、私の場合のようにハードコードされたノードの1つだけに接続することになっていますか、それとも複数のハードコードされたノードに接続できますか?
b. メッセージを介してピア アドレスを取得した後addr
、ノード E はいつそれらのピアへの接続を開始しますか?
可能であれば、関連するコード ファイル/セクションを教えてください。ありがとう
bitcoin - bitcoin-qt を実行して、ローカル テストネットからデータをロードします (自分の PC で 2 つのノードのみ)
freewil/bitcoin-testnet-boxからローカル tesnet を実行しています。これは、次のコマンドを使用して、ローカルで (docker* を使用して) ビルドおよび実行しました。
とにかく、 github でのこの問題のアドバイスに触発されました-ここではどのように見えましたか:
そのように実行する理由についてのアドバイスは次のとおりです。
次に、次のコマンドで bitcoin-qt を実行しました。
それでも、ローカルのテストネットに接続していないようです。これがスクリーンショットです
ビットコイン-qt :
「docker ps」の出力:
よし、じゃあ質問だ
質問: bitcoin-qt または別のウォレットを構成するにはどうすればよいですか? ローカル テストネットからのデータのみ、2 つのノードだけを自分のマシンにロードするようにするには、次のようにします。
*自分でIPアドレスを設定できるように-Dockerを使用せずにローカルで実行しながらそれを行う方法はありますか?
private-key - 秘密鍵付きのアセットを送信 (カラード コイン、Colu SDK)
Colored Coins のドキュメントに従って、次のtestnet
ようなアセットを送信しました。
そして、それは適切に機能します。to_address
しかし、コインを からに戻すにはどうすればよいissuance_address
でしょうか?
生成されたWIF
秘密鍵で可能だと思いますto_address
この目的のためにコードはどうあるべきですか?
を置き換えるだけで、issuance_address
エラーto_address
がスローされます。
そのような転送に特定の秘密鍵 (WIF?) を使用するにはどうすればよいですか? これについては、Colored Coins と Colu SDK の両方のドキュメントで何も見つかりませんでした。
java - bitcoinj による正しい支払い方法
bitcoinj (バージョン 0.14.3) で取引をしようとしていますが、支払い後に釣り銭が戻ってくることを期待しています。私はテストネットで作業していますが、実際のビットコインではありません。次のコードがあります:
だから、私はトランザクションに2つの出力を入れています:
- 送金先住所
- おつりを返すための私の財布のアドレス
最初のアドレスに送金します。そして、2 番目のアドレスに、次の値を送信します。つまり、ウォレットで利用可能なすべてのお金から、最初のアドレスに受け取ったお金を差し引いたものです。
しかし、放送後、予想外の結果がありました。このスキームでいくつかの取引を行った後、間違った値がウォレットから引き出されていることに気付きました。驚くべきことに、お金が引き出されることもあれば、財布にお金が入ってくることもあります。
誰かが私が間違っていることとそれを修正する方法を説明できますか?