我目前正在开发一个涉及运行完整比特币节点的比特币应用程序。
在测试源代码时,我决定使用比特币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进行身份验证,但是没有一个。
我已经研究了这个问题,例如
和其他各种网站,但没有帮助...
我正在运行版本0.18.0
好吧,我详细描述了我的问题,并提到了我已经尝试了两天的内容。
有什么建议吗?
感谢和问候!
答案 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