no se puede enviar el error al usar la biblioteca bitcoin de python para enviar bitcoin en testnet

Cuando ejecuto el script

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

Obtuve el siguiente error

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:

¿Alguna idea de cómo resolver esto? Usé el código de

Publicación de muestra

Si encuentra una respuesta especialmente útil para resolver su problema, debe hacer clic en el botón de marca de verificación junto a ella para indicarlo. Por favor, no publiques respuestas para agradecer a otros usuarios, aceptar la respuesta es suficiente.

Respuestas (1)

El problema era que addrse proporcionaba una dirección no válida: una dirección de red principal no funciona en Test Net y viceversa. (Desde el historial de revisiones de edición, la muestra de código que proporcionó estaba usando bitcoin.wallet.CBitcoinAddress('1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T')y proporcionaría una dirección de red principal)

Reemplace la dirección que se proporciona en la addrvariable con una dirección legítima de Test Net y debería funcionar.

El código funciona. Gracias a @Thoamas Ward por señalar el error.
@ThomasWard ¿Puede explicar qué hace este comando? No puedo encontrar documentación que lo explique bien addr = bitcoin.wallet.CBitcoinAddress('mfrMeTKojpEXFXpcQiRr7zA3Bff4UBgZTx')