Bitcoind
使用 python 比特幣庫在測試網上發送比特幣時無法發送錯誤
當我執行腳本時
from bitcoin.core import COIN, b2lx import bitcoin.wallet import bitcoin.rpc rpc = bitcoin.rpc.Proxy() addr = bitcoin.wallet.CBitcoinAddress('mfrMeTKojpEXFXpcQiRr7zA3Bff4UBgZTx') txid = rpc.sendtoaddress(addr, 0.001 * COIN) print(b2lx(txid))
我收到以下錯誤
CannotSendRequest Traceback (most recent call last) <ipython-input-23-904d1d3102d7> in <module>() ----> 1 txid = rpc.sendtoaddress(addr, 0.001 * COIN) /home/remote_user/unix_practice/python-bitcoinlib/bitcoin/rpc.py in sendtoaddress(self, addr, amount) 557 addr = str(addr) 558 amount = float(amount)/COIN --> 559 r = self._call('sendtoaddress', addr, amount) 560 return lx(r) 561 /home/remote_user/unix_practice/python-bitcoinlib/bitcoin/rpc.py in _call(self, service_name, *args) 150 'User-Agent': DEFAULT_USER_AGENT, 151 'Authorization': self.__auth_header, --> 152 'Content-type': 'application/json'}) 153 154 response = self._get_response() /usr/lib64/python2.7/httplib.pyc in request(self, method, url, body, headers) 971 def request(self, method, url, body=None, headers={}): 972 """Send a complete request to the server.""" --> 973 self._send_request(method, url, body, headers) 974 975 def _set_content_length(self, body): /usr/lib64/python2.7/httplib.pyc in _send_request(self, method, url, body, headers) 999 skips['skip_accept_encoding'] = 1 1000 -> 1001 self.putrequest(method, url, **skips) 1002 1003 if body is not None and 'content-length' not in header_names: /usr/lib64/python2.7/httplib.pyc in putrequest(self, method, url, skip_host, skip_accept_encoding) 869 self.__state = _CS_REQ_STARTED 870 else: --> 871 raise CannotSendRequest() 872 873 # Save the method we use, we need it later in the response phase CannotSendRequest:
知道如何解決這個問題嗎?我使用的程式碼來自
問題是
addr
提供的地址無效 - 主網地址在測試網上不起作用,反之亦然。(從編輯修訂歷史中,您提供的程式碼範例正在使用bitcoin.wallet.CBitcoinAddress('1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T')
它將提供一個主網路地址)將變數中提供的地址替換為
addr
合法的測試網路地址,它應該可以工作。