如何通过Python与比特币rpc连接



我在通过Python连接到本地比特币节点时遇到了一些问题。节点似乎拒绝了通过Python进行的每一次调用,但当使用比特币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

我总是得到一个:

ConnectionRejectedError:[WinError 10061]由于目标计算机主动拒绝,因此无法建立连接

我还尝试在bitcoin.conf文件中使用常规的rpcuser和rpcpassword配置,以及更新的rpcausth方法,但它们都不起作用。

"拒绝连接"很可能意味着在您试图连接的主机名和端口上根本没有任何侦听。在您的情况下,您正在从"testnet"数据目录中的.cookie文件中提取凭据,但您正在连接到默认的主网RPC端口8332。当您在"testnet"模式下启动bitcoid时,默认的RPC端口是18332,而不是8332。

最新更新