## How to make a simple payment with the python-bitcoinlib?

4

2

I've been using the bitcoin-python library for making payments from within Python. This worked pretty simple:

>>> import bitcoinrpc
>>> conn = bitcoinrpc.connect_to_local()


The Readme of that library now says that it is not maintained anymore and refers to the python-bitcoinlib as a successor. So now I'm trying to wrap my head around that lib, but it seems to be a bit more difficult than bitcoin-python used to be. I now understand I can connect to the running bitcoind using the following code:

>>> import bitcoin.rpc as rpc
>>> proxy = rpc.Proxy()
>>> proxy.getinfo()
{u'connections': 36, u'errors': u'', u'blocks': 295646, u'paytxfee': 0, u'keypoololdest': 1394108331, u'walletversion': 60000, u'difficulty': Decimal('6119726
089.12814713'), u'testnet': False, u'version': 90100, u'proxy': u'', u'protocolversion': 70002, u'timeoffset': -1, u'balance': 1856000, u'keypoolsize': 101}


So far so good. The problem is now that I have no idea how I can do a simple payment. I see there is a function called proxy.sendrawtransaction(self, tx), which apparently takes a raw transaction as an argument. I have no idea how to create a raw transaction though, plus I would expect that there is some kind of send_to_address(address, amount) available, but I can't find it around the library.

So does anybody know how I can send a simple transaction to an address with the python-bitcoinlib? All tips are welcome!

7

from bitcoin.core import COIN, b2lx
import bitcoin.wallet
import bitcoin.rpc
try:
# This moved between versions
except:

rpc = bitcoin.rpc.Proxy()

print(b2lx(txid))


Note quite as simple as bitcoinrpc, but that's the trade-off for having proper types and so forth.

Could you expand your answer to relate to the question? – John T – 2014-04-19T07:00:56.060

– kramer65 – 2014-04-22T12:46:58.253

where is CBitcoinAddress being imported from? – priestc – 2014-09-17T05:08:33.890

3

Code sample from 04/2014 is out of date with current python-bitcoinlib. Slight modification here:

from bitcoin.core import COIN, b2lx
import bitcoin.wallet
import bitcoin.rpc

rpc = bitcoin.rpc.Proxy()

from version 0.5.1 CBitcoinAddressError: Version 0 not a recognized Bitcoin Address. Can you help me to fix it? – Moreno – 2016-05-05T23:01:32.000