比特币RPC身份验证问题-regtest

时间:2019-08-11 20:50:57

标签: json authentication rpc bitcoin bitcoind

我目前正在开发一个涉及运行完整比特币节点的比特币应用程序。

在测试源代码时,我决定使用比特币regtest模式。

这是我启动我的比特币节点的方式:

./bitcoind -regtest -rpcuser=a -rpcpassword=b -server -bind=0.0.0.0

这是我与regtest节点进行交互的方式:

./bitcoin-cli -regtest -rpcuser=a -rpcpassword=b getnewaddress

输出:

2N152jpoD9u52cpswsN7ih8RZ3P4DszaUGg

此示例按预期工作...但是!

当我尝试不使用 bitcoin-cli 与bitcoin节点进行交互时,但是卷曲或python会卡住:

curl --user a --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": [] }' -H 'content-type: text/plain;' http://192.168.178.200:18444/

我被要求输入密码=>我输入 b

然后它说:

curl: (52) Empty reply from server

相同于:

curl --user a:b --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": [] }' -H 'content-type: text/plain;' http://192.168.178.200:18444/

和:

curl --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": [] }' -H 'content-type: text/plain;' http://a:b@192.168.178.200:18444/

我还寻找了一个cookie文件来对cookie进行身份验证,但是没有一个。

我已经研究了这个问题,例如

https://bitcoin.stackexchange.com/questions/22335/bitcoin-daemon-sends-empty-reply-from-server-when-in-test-net

和其他各种网站,但没有帮助...

我正在运行版本0.18.0

好吧,我详细描述了我的问题,并提到了我已经尝试了两天的内容。

有什么建议吗?

感谢和问候!

1 个答案:

答案 0 :(得分:0)

如果版本> = 0.16.0 18443 ,我们应该更新regtest RPC端口。 因此,我只是将端口从 18444 更改为 18443 ,就可以了。

示例:

curl --user username:password --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getblockhash","params":[0]}' -H 'content-type:text/plain;' http://127.0.0.1:18443

参考:https://github.com/ruimarinho/bitcoin-core/issues/60