1

我的学习有点问题。。

当我制作有关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, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", 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",
      "active": true,
      "height": 330776
    },
    "bip65": {
      "type": "buried",
      "active": true,
      "height": 581885
    },
    "csv": {
      "type": "buried",
      "active": true,
      "height": 770112
    },
    "segwit": {
      "type": "buried",
      "active": true,
      "height": 834624
    }
  },
  "warnings": "Warning: unknown new rules activated (versionbit 28)"
}

但是我无法在python上执行...请帮助我TT

4

1 回答 1

0

我解决了!!

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

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]下面需要两行.. 当你喜欢我时,请添加此行!谢谢

于 2020-10-18T05:35:17.507 回答