通过 Docker 调用 bitcoind rpc api

3

我使用以下标志启动了我的Node容器:

daemon=1
printtoconsole=1
testnet=1
rpcport=9332
rpcallowip=0.0.0.0/0
rpcuser=user
rpcpassword=password
rpcbind=0.0.0.0
server=1

我在我的docker-compose中打开了端口:
node:
    image: bitcoin-sv
    container_name: 'node'
    restart: always
    ports:
      - '9332:9332'

我可以在我的容器中调用bitcoin-cli的方法

docker exec -it node bash
root@9196d074e4d8:/opt/bitcoin-sv# ./bitcoin-cli getinfo

但我无法从curl中调用它

curl --user user --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getinfo, "params": ["", 0.1, "donation", "seans outpost"] }' -H 'content-type: text/plain;' http://127.0.0.1:9332
Enter host password for user 'user':
curl: (52) Empty reply from server

我该如何从curl中调用它?也许我需要调用cli?


是的,我也遇到了同样的问题。@trololo,你能解决这个问题吗? - Raj Saraogi
1个回答

0

不确定您的问题是什么,但第一种方法应该是在容器内执行curl,以便验证HTTP接口是否正常工作。因此,您应该尝试这样做:

docker exec -it node bash
root@9196d074e4d8:/opt/bitcoin-sv# curl --user user --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getinfo, "params": ["", 0.1, "donation", "seans outpost"] }' -H 'content-type: text/plain;' localhost:9332

一旦您确定容器内的接口正常工作,您可以继续并尝试从主机上使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接