python send bitcoin

_ Here's how it works: Anybody can ask a question Anybody can answer The best answers are voted up and rise to the top up vote 3 down vote favorite 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() >>> conn.sendtoaddress('bitcoin_address_here', 0.5) 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!transactions library up vote 7 down vote I just added sendtoaddress to bitcoin.rpc.Proxy: from bitcoin.core import COIN, b2lx import bitcoin.wallet import bitcoin.rpc try: # This moved between versions from bitcoin.base58 import CBitcoinAddress except: from bitcoin.wallet import CBitcoinAddress rpc = bitcoin.rpc.Proxy() addr = CBitcoinAddress('1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T') txid = rpc.sendtoaddress(addr, 0.001 * COIN) print(b2lx(txid)) Note quite as simple as bitcoinrpc, but that's the trade-off for having proper types and so forth.
up vote 3 down vote 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() addr = bitcoin.wallet.CBitcoinAddress('1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T') txid = rpc.sendtoaddress(addr, 0.001 * COIN) print(b2lx(txid)) Tested on v0.3.0+ Your Answer Sign up or log in Sign up using Google Sign up using Email and Password Post as a guest Name Email discard By posting your answer, you agree to the privacy policy and terms of service.ethereum ipoBrowse other questions tagged transactions library or ask your own question.bitcoin publicly traded stockcommits branch releases Fetching contributors Latest commit 07e1dcd Feb 19, 2017 Support for 80 byte OP_RETURNs Permalink README.txt python-OP_RETURN v2 =================== Simple Python commands and libraries for using OP_RETURNs in bitcoin transactions.bitcoin senate hearing video
/ MIT License (see headers in files) REQUIREMENTS ------------ * Python 2.5 or later (including Python 3) * Bitcoin Core 0.9 or later BEFORE YOU START ---------------- Check the constant settings at the top of OP_RETURN.py.If you just installed Bitcoin Core, wait for it to download and verify old blocks.bitcoin par smsIf using as a library, add 'from OP_RETURN import *' in your Python script file.litecoin download blockchainTO SEND A BITCOIN TRANSACTION WITH SOME OP_RETURN METADATA ---------------------------------------------------------- On the command line: * python send-OP_RETURN.py is the bitcoin address of the recipient is the amount to send (in units of BTC) is a hex string or raw string containing the OP_RETURN metadata (auto-detection: treated as a hex string if it is a valid one) should be 1 to use the bitcoin testnet, otherwise it can be omitted * Outputs an error if one occurred or the txid if sending was successful * / for your OP_RETURN transaction.litecoin download blockchain
* Examples: python send-OP_RETURN.py 149wHUMa41Xm2jnZtqgRx94uGbZD9kPXnS 0.001 'Hello, blockchain!'python send-OP_RETURN.py 149wHUMa41Xm2jnZtqgRx94uGbZD9kPXnS 0.001 48656c6c6f2c20626c6f636b636861696e21 python send-OP_RETURN.py mzEJxCrdva57shpv62udriBBgMECmaPce4 0.001 'Hello, testnet!'1 As a library: * OP_RETURN_send(send_address, send_amount, metadata, testnet=False) send_address is the bitcoin address of the recipient send_amount is the amount to send (in units of BTC) metadata is a string of raw bytes containing the OP_RETURN metadata testnet is whether to use the bitcoin testnet network (False if omitted) * Returns: {'error': ''} or: {'txid': ''} * Examples OP_RETURN_send('149wHUMa41Xm2jnZtqgRx94uGbZD9kPXnS', 0.001, 'Hello, blockchain!') OP_RETURN_send('mzEJxCrdva57shpv62udriBBgMECmaPce4', 0.001, 'Hello, testnet!', True) TO STORE SOME DATA IN THE BLOCKCHAIN USING OP_RETURNs ----------------------------------------------------- On the command line: * python store-OP_RETURN.py is a hex string or raw string containing the data to be stored (auto-detection: treated as a hex string if it is a valid one) should be 1 to use the bitcoin testnet, otherwise it can be omitted * Outputs an error if one occurred or if successful, the txids that were used to store the data and a short reference that can be used to retrieve it using this library.
* / for your OP_RETURN transactions.* Examples: python store-OP_RETURN.py 'This example stores 47 bytes in the blockchain.'python store-OP_RETURN.py 'This example stores 44 bytes in the testnet.'1 As a library: * OP_RETURN_store(data, testnet=False) data is the string of raw bytes to be stored testnet is whether to use the bitcoin testnet network (False if omitted) * Returns: {'error': ''} or: {'txids': ['<1st txid>', '<2nd txid>', ...], 'ref': ''} * Examples: OP_RETURN_store('This example stores 47 bytes in the blockchain.')OP_RETURN_store('This example stores 44 bytes in the testnet.',True) TO RETRIEVE SOME DATA FROM OP_RETURNs IN THE BLOCKCHAIN ------------------------------------------------------- On the command line: * python retrieve-OP_RETURN.py is the reference that was returned by a previous storage operation should be 1 to use the bitcoin testnet, otherwise it can be omitted * Outputs an error if one occurred or if successful, the retrieved data in hexadecimal and ASCII format, a list of the txids used to store the data, a list of the blocks in which the data is stored, and (if available) the best ref for retrieving the data quickly in future.
This may or may not be different from the ref you provided.* Examples: python retrieve-OP_RETURN.py 356115-052075 python retrieve-OP_RETURN.py 396381-059737 1 As a library: * OP_RETURN_retrieve(ref, max_results=1, testnet=False) ref is the reference that was returned by a previous storage operation max_results is the maximum number of results to retrieve (in general, omit for 1) testnet is whether to use the bitcoin testnet network (False if omitted) * Returns: {'error': ''} or: {'data': '', 'txids': ['<1st txid>', '<2nd txid>', ...], 'heights': [, , ...], 'ref': '', 'error': ''} A value of 0 in the 'heights' array means some data is still in the mempool.The 'ref' and 'error' elements are only present if appropriate.* Examples: OP_RETURN_retrieve('356115-052075') OP_RETURN_retrieve('396381-059737', 1, True) VERSION HISTORY --------------- v2.0.2 - 30 June 2015 * First port of php-OP_RETURN to Python