我在通过Python连接到本地比特币节点时遇到了一些麻烦。似乎该节点拒绝了通过Python进行的所有调用,但是使用bitcoin-cli时一切正常。
我的Python脚本:
import simplejson as json
import requests
with open("C:\\Users\\%USERNAME%\\AppData\\Roaming\\Bitcoin\\testnet3\\.cookie", "r") as creds:
cookie = creds.read()
NODE_URL = "http://127.0.0.1:8332"
NODE_USER = cookie.split(":")[0]
NODE_PASSWORD = cookie.split(":")[1]
def rpc(method, params=[]):
payload = json.dumps({
"jsonrpc": "2.0",
"id": "minebet",
"method": method,
"params": params
})
return requests.post(NODE_URL, auth=(NODE_USER, NODE_PASSWORD), data=payload).json()['result']
rpc('getnewaddress')
还有bitcoin.conf文件:
testnet=1
server=1
gen=0
prune=1024
我总是得到:
ConnectionRefusedError:[WinError 10061]无法建立连接,因为目标计算机主动拒绝了连接
我还尝试在bitcoin.conf文件中使用常规的rpcuser和rpcpassword配置,以及较新的rpcauth方法,但它们均不起作用。
答案 0 :(得分:0)
“拒绝连接”很可能意味着您试图连接的主机名和端口根本没有监听。在您的情况下,您要从“ testnet”数据目录中的.cookie文件中提取凭据,但要连接到默认的主网RPC端口8332。以“ testnet”模式启动bitcoind时,默认的RPC端口为18332,不是8332。