通过Docker调用Bitcoind rpc API

eyh26e7m  于 2023-03-17  发布在  Docker
关注(0)|答案(1)|浏览(146)

我使用以下标志启动了节点容器:

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?

xmd2e60i

xmd2e60i1#

我不确定您的问题是什么,但第一种方法是在容器内部执行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

一旦您确定接口在容器内工作正常,您就可以向前移动并从主机尝试它。

相关问题