osx和bitcoinlib套接字错误上的比特币核心

问题描述

我的学习有问题。

当我像这样制作有关bitcoinlib的python文件

from bitcoin.rpc import RawProxy

p = RawProxy()

info = p.getblockchaininfo()

print(info['blocks'])

但这显示了一些错误,例如

>> python3 rpc_example.py
Traceback (most recent call last):
  File "rpc_example.py",line 5,in <module>
    info = p.getblockchaininfo()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/bitcoin/rpc.py",line 315,in <lambda>
    f = lambda *args: self._call(name,*args)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/bitcoin/rpc.py",line 231,in _call
    self.__conn.request('POST',self.__url.path,postdata,headers)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",line 1239,in request
    self._send_request(method,url,body,headers,encode_chunked)
from bitcoin.rpc import RawProxy
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",line 1285,in _send_request
    self.endheaders(body,encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",line 1234,in endheaders
    self._send_output(message_body,line 1026,in _send_output
    self.send(msg)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",line 964,in send
    self.connect()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",line 936,in connect
    (self.host,self.port),self.timeout,self.source_address)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/socket.py",line 724,in create_connection
    raise err
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/socket.py",line 713,in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused

ConnectionRefusedError ... 这是我的bitcoin.conf文件

alertnotify=myemailscript.sh "Alert: %s"
server=1
rpcuser=bitcoinrpc
rpcpassword=any_long_random_password
txindex=1
testnet=1
daemon=1

启动-testnet时,我可以执行一些API,如getblockchaininfo或getblockhash之类

bitcoin-cli getblockchaininfo
{
  "chain": "test","blocks": 1863439,"headers": 1863439,"bestblockhash": "00000000133f751916630063f86f5b27cd6b5871ce70a5fcba7112a111941706","difficulty": 1,"mediantime": 1602990284,"verificationprogress": 0.999998381271931,"initialblockdownload": false,"chainwork": "0000000000000000000000000000000000000000000001d9736dcfa64f3ea8bf","size_on_disk": 28355982038,"pruned": false,"softforks": {
    "bip34": {
      "type": "buried","active": true,"height": 21111
    },"bip66": {
      "type": "buried","height": 330776
    },"bip65": {
      "type": "buried","height": 581885
    },"csv": {
      "type": "buried","height": 770112
    },"segwit": {
      "type": "buried","height": 834624
    }
  },"warnings": "Warning: unkNown new rules activated (versionbit 28)"
}

但是我不能在python上执行... 请帮我TT

解决方法

我解决了!!

我没有检查有关testnet的bitcoin.conf 当我在bitcoin.conf中添加一些评论时

alertnotify=myemailscript.sh "Alert: %s"
server=1
rpcuser=bitcoinrpc
rpcpassword=any_long_random_password
txindex=1
testnet=1
daemon=1

[testnet]
rpcallowip=*
rpcport=18332

[testnet] 下面需要两行。 当你喜欢我时 请添加此行!谢谢