You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API链接在Bitcoinlib中对接第三方比特币节点?

解决Bitcoinlib连接带API Key的第三方JSON-RPC节点问题

要连接像Getblock这类通过URL嵌入API Key的第三方节点,你需要绕过Bitcoinlib默认AuthServiceProxy的用户名密码认证逻辑,改用自定义RPC客户端或者调整代理的初始化参数,以下是两种可行方案:

方案1:修改AuthServiceProxy参数直接连接

Bitcoinlib的AuthServiceProxy基于python-bitcoinrpc,支持传入完整RPC URL并跳过HTTP基础认证:

from bitcoinlib.services.authproxy import AuthServiceProxy
from bitcoinlib.nodes import Node

# 替换为你的Getblock API端点
rpc_url = "https://btc.getblock.io/你的API_KEY/testnet/"

# 创建RPC连接,指定auth=None跳过用户名密码认证
rpc_conn = AuthServiceProxy(rpc_url, auth=None)

# 初始化Node实例并绑定连接
node = Node(
    "getblock_testnet_node",
    rpc_connection=rpc_conn,
    network="testnet"
)

# 测试连接:获取当前区块高度
print(node.blockcount())

方案2:自定义RPC客户端(更灵活)

如果默认的AuthServiceProxy仍有兼容性问题,可以基于Bitcoinlib的BaseClient实现自定义客户端,直接用requests发送JSON-RPC请求:

import requests
from bitcoinlib.nodes import Node
from bitcoinlib.services.baseclient import BaseClient

class GetblockRpcClient(BaseClient):
    def __init__(self, rpc_url, network="testnet"):
        self.rpc_url = rpc_url
        super().__init__(network=network)
    
    def _call(self, method, *args):
        # 构造标准JSON-RPC负载
        payload = {
            "jsonrpc": "2.0",
            "method": method,
            "params": args,
            "id": 1
        }
        # 发送POST请求
        response = requests.post(self.rpc_url, json=payload)
        response.raise_for_status()
        result = response.json()
        
        # 处理RPC错误
        if result.get("error"):
            raise Exception(f"RPC调用失败: {result['error']}")
        return result["result"]

# 初始化自定义客户端和Node
rpc_url = "https://btc.getblock.io/你的API_KEY/testnet/"
custom_client = GetblockRpcClient(rpc_url, network="testnet")
node = Node("custom_getblock_node", client=custom_client, network="testnet")

# 测试调用
print(node.getbalance())

注意事项

  • 确保替换代码中的你的API_KEY为实际的Getblock API密钥
  • 若节点需要特定请求头(如User-Agent),可在requests.post中添加headers参数
  • 测试时优先调用简单的RPC方法(如blockcount、getnetworkinfo)验证连接有效性

内容的提问来源于stack exchange,提问作者Fluxx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 07:27:27