1

新しい Docker-for-Mac を使用して、次のようにデーモンを実行しています。

$docker run -d --name bitcoind -e BITCOIN_DATA=/data \
    -v ${PWD}/bitcoind:/data -p 8332:8332 seegno/bitcoind:latest \
    -server -rpcuser=test -rpcpassword=nopass -rpcallowip=192.168.1.67 \
    -printtoconsole -debug=rpc

ここで、許可する IP アドレスがデフォルトです。

$ ifconfig |grep inet |grep -v inet6
    inet 127.0.0.1 nitmask 0xff000000 
    inet 192.168.1.67 netmask 0xffffff00 broadcast 192.168.1.255

次に、アプリを実行します。

var BTC = require('bitcoin-core');
var opts = { 
    host: 'localhost',
    port: 8332,
    username: 'test',
    password: 'nopass'
};
btc = new BTC(opts);
btc.getNewAddress().then(function(s) {
    console.log(s);
});

そして得る:

Unhandled reject RpcError: 403 Forbidden at get (/Users/ekkis/D​​evelopment/Test/www/node_modules/bitcoin-core/dist/src/parser.js:34:11) at Client.rpc (/Users/ekkis/D​​evelopment/) Test/www/node_modules/bitcoin-core/dist/src/parser.js:81:14) で Request.self.callback (/Users/ekkis/D​​evelopment/Test/www/node_modules/request/request.js:200: 22) リクエストで、emitTwo (events.js:87:13) で Request.emit (events.js:172:7) で。(/Users/ekkis/D​​evelopment/Test/www/node_modules/request/request.js:1067:10) emitOne (events.js:82:20) で Request.emit (events.js:169:7) で IncomingMessage . (/Users/ekkis/D​​evelopment/Test/www/node_modules/request/request.js:988:12) 前回のイベントより: at /Users/ekkis/D​​evelopment/Test/www/node_modules/bitcoin-core/dist/src/ index.js:163:21 前のイベントから: クライアントで。コマンド (/Users/ekkis/D​​evelopment/Test/www/node_modules/bitcoin-core/dist/src/index.js:152:34) で適用 (/Users/ekkis/D​​evelopment/Test/www/node_modules/lodash/lodash) .js:409:27) オブジェクトの Client.wrapper [as getNewAddress] (/Users/ekkis/D​​evelopment/Test/www/node_modules/lodash/lodash.js:4837:16) で。(/Users/ekkis/D​​evelopment/Test/www/t:12:5) で Module._compile (module.js:425:26) で Object.Module._extensions..js (module.js:432:10) でModule.load (module.js:356:32) で Function.Module._load (module.js:311:12) で Function.Module.runMain (module.js:457:10) で 起動時 (node.js:136) :18) node.js:972:3 で オブジェクトのラッパー [as getNewAddress] (/Users/ekkis/D​​evelopment/Test/www/node_modules/lodash/lodash.js:4837:16)。(/Users/ekkis/D​​evelopment/Test/www/t:12:5) で Module._compile (module.js:425:26) で Object.Module._extensions..js (module.js:432:10) でModule.load (module.js:356:32) で Function.Module._load (module.js:311:12) で Function.Module.runMain (module.js:457:10) で 起動時 (node.js:136) :18) node.js:972:3 で オブジェクトのラッパー [as getNewAddress] (/Users/ekkis/D​​evelopment/Test/www/node_modules/lodash/lodash.js:4837:16)。(/Users/ekkis/D​​evelopment/Test/www/t:12:5) で Module._compile (module.js:425:26) で Object.Module._extensions..js (module.js:432:10) でModule.load (module.js:356:32) で Function.Module._load (module.js:311:12) で Function.Module.runMain (module.js:457:10) で 起動時 (node.js:136) :18) node.js:972:3 で

サーバーに接続できるようですが:

$ telnet localhost 8332
Trying ::1...
Connected to localhost.
Escape character is '^]'.

接続エラーでハングアップしません...何が欠けていますか?

*私を編集*

ええと...デーモンを実行して試してみると、次のように表示され-logipsます。

2016-07-09 18:32:26 172.17.0.1:50262 から / の POST 要求を受け取りました

私が期待したIPアドレスの代わりに。Docker が実行する VM の IP アドレスであり、何らかの方法でコンテナーにルーティングされることを収集します。問題は、ノード アプリからその IP アドレスを見つけて、ホワイトリストに登録するにはどうすればよいかということです。

4

1 に答える 1