-1

我在连接比特币和门罗币的 RPC 服务器时遇到问题。我正在使用 python-bitcoinrpc 和 python-monerorpc 作为库,但它们无法同时连接。这是我正在使用的代码:

from monerorpc.authproxy import AuthServiceProxy, JSONRPCException
from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException
arg = { 
    "destinations": 
    [{
        "amount": 499978865000, 
        "address": "A2Xt28bHwF7TaqERoUV4QMTKkpytNMLVRaKGHnasdeNz6WEEWZ6K9LHZFXgNbQhskC24ejuMxfWzpNBG56EecXhdFqPG3GK",
    }],
    "account_index": 0,
    "priority": 0,
    "get_tx_key": True,
    }

btc = AuthServiceProxy(service_url="http://<username>:<password>@server-ip:port", timeout=120)
xmr = AuthServiceProxy(service_url='http://<username>:<password>@server-ip:port/json_rpc') 
print(xmr.getnewaddress("", "p2sh-segwit"))
print(xmr.getbalance()) 

连接时出现此错误:

-342: non-JSON HTTP response with '401 Unauthorized' from server 

任何帮助将不胜感激!

4

1 回答 1

-1

AuthServiceProxy从两个库中导入,并期望 Python 记住每个库来自哪个库。我会尝试两件事:

  1. AuthServiceProxy使用别名导入两个类(并分别重命名每个调用)
  2. 确保您可以相互独立地调用门罗币和比特币端点而不会出错。

我怀疑这两个调用AuthServiceProxy实际上都是 bitcoinrpc lib 调用,这可能会解释错误(因为您实际上可能在太快的成功中调用了相同的端点并导致 API 抱怨)。

于 2020-07-27T01:58:18.260 回答