Fehler bei Verwendung der Python-Bitcoin-Bibliothek zum Senden von Bitcoin im Testnet kann nicht gesendet werden

Wenn ich das Skript ausführe

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))

Ich erhalte den folgenden FEHLER

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:

Irgendeine Idee, wie man das löst? Ich habe den Code von verwendet

Beispielbeitrag

Wenn Sie eine Antwort besonders hilfreich bei der Lösung Ihres Problems finden, sollten Sie auf die Häkchen-Schaltfläche daneben klicken, um dies anzuzeigen. Bitte posten Sie keine Antworten, um anderen Benutzern zu danken, es reicht aus, die Antwort zu akzeptieren.

Antworten (1)

Das Problem bestand darin, dass addreine ungültige Adresse bereitgestellt wurde – eine Hauptnetzadresse funktioniert nicht im Testnetz und umgekehrt. (Aus dem Verlauf der Bearbeitungsrevisionen hat das von Ihnen bereitgestellte Codebeispiel verwendet, bitcoin.wallet.CBitcoinAddress('1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T')das eine Hauptnetzadresse bereitstellen würde.)

Ersetzen Sie die in der Variablen angegebene Adresse addrdurch eine legitime Testnetzadresse, und es sollte funktionieren.

Der Code funktioniert. Danke an @Thomas Ward für den Hinweis auf den Fehler
@ThomasWard Können Sie erklären, was dieser Befehl bewirkt? Ich kann keine Dokumentation finden, die es gut erklärt addr = bitcoin.wallet.CBitcoinAddress('mfrMeTKojpEXFXpcQiRr7zA3Bff4UBgZTx')