python bitcoin install

This Python2/3 library provides an easy interface to the bitcoin data structures and protocol.The approach is low-level and "ground up", with a focus on providing tools to manipulate the internals of how Bitcoin works."The Swiss Army Knife of the Bitcoin protocol."- Wladimir J. van der Laan The RPC interface, bitcoin.rpc, is designed to work with Bitcoin Core v0.13.0 Older versions may work but there do exist some incompatibilities.Everything consensus critical is found in the modules under bitcoin.core.This rule is followed pretty strictly, for instance chain parameters are split into consensus critical and non-consensus-critical.In the future the bitcoin.core may use the Satoshi sourcecode directly as a library.Non-consensus critical modules include the following: Effort has been made to follow the Satoshi source relatively closely, for instance Python code and classes that duplicate the functionality of corresponding Satoshi C++ code uses the same naming conventions: CTransaction, CBlockHeader, nValue etc. Otherwise Python naming conventions are followed.
Like the Bitcoin Core codebase CTransaction is immutable and CMutableTransaction is mutable; unlike the Bitcoin Core codebase this distinction also applies to COutPoint, CTxIn, CTxOut, and CBlock.Rather confusingly Bitcoin Core shows transaction and block hashes as little-endian hex rather than the big-endian the rest of the world uses for SHA256.python-bitcoinlib provides the convenience functions x() and lx() in bitcoin.core to convert from big-endian and little-endian hex to raw bytes to accomodate this.In addition see b2x() and b2lx() for conversion from bytes to big/little-endian hex.While not always good style, it's often convenient for quick scripts if import * can be used.To support that all the modules have __all__ defined appropriately.For instance this example creates a transaction spending a pay-to-script-hash transaction output: Where NAME is one of 'testnet', 'mainnet', or 'regtest'.The chain currently selected is a global variable that changes behavior everywhere, just like in the Satoshi codebase.
Under bitcoin/tests using test data from Bitcoin Core.To run them: Please run the tests on both Python2 and Python3 for your pull-reqs!/) is available on your system, you can run unit tests for multiple Python versions: Currently, the following implementations are tried (any not installed are skipped): HTML coverage reports can then be found in the htmlcov/ subdirectory.Sphinx documentation is in the "doc" subdirectory.Run "make help" from there to see how to build.You will need the Python "sphinx" package installed.Currently this is just API documentation generated from the code and docstrings.Higher level written docs would be useful, perhaps starting with much of this README.Pages are written in reStructuredText and linked from index.rst.Jump to: , Friendly bitcoin API binding for Python.bitcoin-python is a set of Python libraries that allows easy access to the Bitcoin peer-to-peer cryptocurrency client API.This software is Open Source.
Contents 1 2 3 4 5 Documentation can be found here, or in the source archive.It is built using Sphinx: The library can also be found in the Python package repository This means that it can be installed using pip install bitcoin-python.de bitcoin a peso chilenoAccording to the PyPI page, bitcoin-python is not actively maintained.simple litecoin minerThe page suggests using python-bitcoinlib instead, which offers far more features.bitcoin car magnetThe PyPI page for bitcoin-python leaves open the opportunity for anyone to take up the maintainer role for bitcoin-python, if they contact the developer.ny bitcoin legislation
Package Index > bitcoin > 1.1.42 bitcoin 1.1.42 Python Bitcoin Tools # Pybitcointools, Python library for Bitcoin signatures and transactions ### Advantages: Functions have a simple interface, inputting and outputting in standard formats No classes Many functions can be taken out and used individually Supports binary, hex and base58 Transaction deserialization format almost compatible with BitcoinJS Electrum and BIP0032 support Make and publish a transaction all in a single command line instruction Includes non-bitcoin-specific conversion and JSON utilities ### Disadvantages: Not a full node, has no idea what blocks are Relies on centralized service (blockchain.info) for blockchain operations, although operations do have backups (eligius, blockr.io) ### Example usage (best way to learn :) ): > from bitcoin import * > priv = sha256(‘some big long brainwallet password’) > priv ‘57c617d9b4e1f7af6ec97ca2ff57e94a28279a7eedd4d12a99fa11170e94f5a4’ > pub = privtopub(priv) > pub ‘0420f34c2786b4bae593e22596631b025f3ff46e200fc1d4b52ef49bbdc2ed00b26c584b7e32523fb01be2294a1f8a5eb0cf71a203cc034ced46ea92a8df16c6e9’ > addr = pubtoaddr(pub) > addr ‘1CQLd3bhw4EzaURHbKCwM5YZbUQfA4ReY6’ > h = history(addr) > h [{‘output’: u‘97f7c7d8ac85e40c255f8a763b6cd9a68f3a94d2e93e8bfa08f977b92e55465e:0’, ‘value’: 50000, ‘address’: u‘1CQLd3bhw4EzaURHbKCwM5YZbUQfA4ReY6’}, {‘output’: u‘4cc806bb04f730c445c60b3e0f4f44b54769a1c196ca37d8d4002135e4abd171:1’, ‘value’: 50000, ‘address’: u‘1CQLd3bhw4EzaURHbKCwM5YZbUQfA4ReY6’}] > outs = [{‘value’: 90000, ‘address’: ‘16iw1MQ1sy1DtRPYw3ao1bCamoyBJtRB4t’}] > tx = mktx(h,outs) > tx ‘01000000025e46552eb977f908fa8b3ee9d2943a8fa6d96c3b768a5f250ce485acd8c7f7970000000000ffffffff71d1abe4352100d4d837ca96c1a16947b5444f0f3e0bc645c430f704bb06c84c0100000000ffffffff01905f0100000000001976a9143ec6c3ed8dfc3ceabcc1cbdb0c5aef4e2d02873c88ac00000000’ > tx2 = sign(tx,0,priv) > tx2 ‘01000000025e46552eb977f908fa8b3ee9d2943a8fa6d96c3b768a5f250ce485acd8c7f797000000008b483045022100dd29d89a28451febb990fb1dafa21245b105140083ced315ebcdea187572b3990220713f2e554f384d29d7abfedf39f0eb92afba0ef46f374e49d43a728a0ff6046e01410420f34c2786b4bae593e22596631b025f3ff46e200fc1d4b52ef49bbdc2ed00b26c584b7e32523fb01be2294a1f8a5eb0cf71a203cc034ced46ea92a8df16c6e9ffffffff71d1abe4352100d4d837ca96c1a16947b5444f0f3e0bc645c430f704bb06c84c0100000000ffffffff01905f0100000000001976a9143ec6c3ed8dfc3ceabcc1cbdb0c5aef4e2d02873c88ac00000000’ > tx3 = sign(tx2,1,priv) > tx3 ‘01000000025e46552eb977f908fa8b3ee9d2943a8fa6d96c3b768a5f250ce485acd8c7f797000000008b483045022100dd29d89a28451febb990fb1dafa21245b105140083ced315ebcdea187572b3990220713f2e554f384d29d7abfedf39f0eb92afba0ef46f374e49d43a728a0ff6046e01410420f34c2786b4bae593e22596631b025f3ff46e200fc1d4b52ef49bbdc2ed00b26c584b7e32523fb01be2294a1f8a5eb0cf71a203cc034ced46ea92a8df16c6e9ffffffff71d1abe4352100d4d837ca96c1a16947b5444f0f3e0bc645c430f704bb06c84c010000008c4930460221008bbaaaf172adfefc3a1315dc7312c88645832ff76d52e0029d127e65bbeeabe1022100fdeb89658d503cf2737cedb4049e5070f689c50a9b6c85997d49e0787938f93901410420f34c2786b4bae593e22596631b025f3ff46e200fc1d4b52ef49bbdc2ed00b26c584b7e32523fb01be2294a1f8a5eb0cf71a203cc034ced46ea92a8df16c6e9ffffffff01905f0100000000001976a9143ec6c3ed8dfc3ceabcc1cbdb0c5aef4e2d02873c88ac00000000’ > pushtx(tx3) ‘Transaction Submitted’ Or using the pybtctool command line interface: @vub: pybtctool random_electrum_seed 484ccb566edb66c65dd0fd2e4d90ef65 @vub: pybtctool electrum_privkey 484ccb566edb66c65dd0fd2e4d90ef65 0 0 593240c2205e7b7b5d7c13393b7c9553497854b75c7470b76aeca50cd4a894d7 @vub: pybtctool electrum_mpk 484ccb566edb66c65dd0fd2e4d90ef65 484e42865b8e9a6ea8262fd1cde666b557393258ed598d842e563ad9e5e6c70a97e387eefdef123c1b8b4eb21fe210c6216ad7cc1e4186fbbba70f0e2c062c25 @vub: pybtctool bip32_master_key 21456t243rhgtucyadh3wgyrcubw3grydfbng xprv9s21ZrQH143K2napkeoHT48gWmoJa89KCQj4nqLfdGybyWHP9Z8jvCGzuEDv4ihCyoed7RFPNbc9NxoSF7cAvH9AaNSvepUaeqbSpJZ4rbT @vub: pybtctool bip32_ckd xprv9s21ZrQH143K2napkeoHT48gWmoJa89KCQj4nqLfdGybyWHP9Z8jvCGzuEDv4ihCyoed7RFPNbc9NxoSF7cAvH9AaNSvepUaeqbSpJZ4rbT 0 xprv9vfzYrpwo7QHFdtrcvsSCTrBESFPUf1g7NRvayy1QkEfUekpDKLfqvHjgypF5w3nAvnwPjtQUNkyywWNkLbiUS95khfHCzJXFkLEdwRepbw @vub: pybtctool bip32_privtopub xprv9s21ZrQH143K2napkeoHT48gWmoJa89KCQj4nqLfdGybyWHP9Z8jvCGzuEDv4ihCyoed7RFPNbc9NxoSF7cAvH9AaNSvepUaeqbSpJZ4rbT xpub661MyMwAqRbcFGfHrgLHpC5R4odnyasAZdefbDkHBcWarJcXh6SzTzbUkWuhnP142ZFdKdAJSuTSaiGDYjvm7bCLmA8DZqksYjJbYmcgrYF The -s option lets you read arguments from the command line @vub: pybtctool sha256 ‘some big long brainwallet password’ | pybtctool -s privtoaddr | pybtctool -s history [{‘output’: u‘97f7c7d8ac85e40c255f8a763b6cd9a68f3a94d2e93e8bfa08f977b92e55465e:0’, ‘value’: 50000, ‘address’: u‘1CQLd3bhw4EzaURHbKCwM5YZbUQfA4ReY6’}, {‘output’: u‘4cc806bb04f730c445c60b3e0f4f44b54769a1c196ca37d8d4002135e4abd171:1’, ‘value’: 50000, ‘address’: u‘1CQLd3bhw4EzaURHbKCwM5YZbUQfA4ReY6’}] @vub: pybtctool random_electrum_seed | pybtctool -s electrum_privkey 0 0 593240c2205e7b7b5d7c13393b7c9553497854b75c7470b76aeca50cd4a894d7 The -b option lets you read binary data as an argument @vub: pybtctool sha256 123 | pybtctool -s changebase 16 256 | pybtctool -b changebase 256 16 a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae30a The -j option lets you read json from the command line (-J to split a json list into multiple arguments) @vub: pybtctool unspent 1FxkfJQLJTXpW6QmxGT6oF43ZH959ns8Cq | pybtctool -j select 200000001 | pybtctool -j mksend 1EXoDusjGwvnjZUyKkxZ4UHEf77z6A5S4P:20000 1FxkfJQLJTXpW6QmxGT6oF43ZH959ns8Cq 1000 | pybtctool -s signall 805cd74ca322633372b9bfb857f3be41db0b8de43a3c44353b238c0acff9d523 0100000003d5001aae8358ae98cb02c1b6f9859dc1ac3dbc1e9cc88632afeb7b7e3c510a49000000008b4830450221009e03bb6122437767e2ca785535824f4ed13d2ebbb9fa4f9becc6d6f4e1e217dc022064577353c08d8d974250143d920d3b963b463e43bbb90f3371060645c49266b90141048ef80f6bd6b073407a69299c2ba89de48adb59bb9689a5ab040befbbebcfbb15d01b006a6b825121a0d2c546c277acb60f0bd3203bd501b8d67c7dba91f27f47ffffffff1529d655dff6a0f6c9815ee835312fb3ca4df622fde21b6b9097666e9284087d010000008a473044022035dd67d18b575ebd339d05ca6ffa1d27d7549bd993aeaf430985795459fc139402201aaa162cc50181cee493870c9479b1148243a33923cb77be44a73ca554a4e5d60141048ef80f6bd6b073407a69299c2ba89de48adb59bb9689a5ab040befbbebcfbb15d01b006a6b825121a0d2c546c277acb60f0bd3203bd501b8d67c7dba91f27f47ffffffff23d5f9cf0a8c233b35443c3ae48d0bdb41bef357b8bfb972336322a34cd75c80010000008b483045022014daa5c5bbe9b3e5f2539a5cd8e22ce55bc84788f946c5b3643ecac85b4591a9022100a4062074a1df3fa0aea5ef67368d0b1f0eaac520bee6e417c682d83cd04330450141048ef80f6bd6b073407a69299c2ba89de48adb59bb9689a5ab040befbbebcfbb15d01b006a6b825121a0d2c546c277acb60f0bd3203bd501b8d67c7dba91f27f47ffffffff02204e0000000000001976a914946cb2e08075bcbaf157e47bcb67eb2b2339d24288ac5b3c4411000000001976a914a41d15ae657ad3bfd0846771a34d7584c37d54a288ac00000000 Fun stuff with json: @vub: pybtctool history 1EXoDusjGwvnjZUyKkxZ4UHEf77z6A5S4P | pybtctool -j multiaccess value | pybtctool -j sum 625216206372 @vub: pybtctool history 1EXoDusjGwvnjZUyKkxZ4UHEf77z6A5S4P | pybtctool -j count 6198 ### Listing of main commands: privkey_to_pubkey : (privkey) -> pubkey privtopub : (privkey) -> pubkey pubkey_to_address : (pubkey) -> address pubtoaddr : (pubkey) -> address privkey_to_address : (privkey) -> address privtoaddr : (privkey) -> address add : (key1, key2) -> key1 + key2 (works on privkeys or pubkeys) multiply : (pubkey, privkey) -> returns pubkey * privkey ecdsa_sign : (message, privkey) -> sig ecdsa_verify : (message, sig, pubkey) -> True/False ecdsa_recover : (message, sig) -> pubkey random_key : () -> privkey random_electrum_seed : () -> electrum seed electrum_stretch : (seed) -> secret exponent electrum_privkey : (seed or secret exponent, i, type) -> privkey electrum_mpk : (seed or secret exponent) -> master public key electrum_pubkey : (seed or secexp or mpk) -> pubkey bip32_master_key : (seed) -> bip32 master key bip32_ckd : (private or public bip32 key, i) -> child key bip32_privtopub : (private bip32 key) -> public bip32 key bip32_extract_key : (private or public bip32_key) -> privkey or pubkey deserialize : (hex or bin transaction) -> JSON tx serialize : (JSON tx) -> hex or bin tx mktx : (inputs, outputs) -> tx mksend : (inputs, outputs, change_addr, fee) -> tx sign : (tx, i, privkey) -> tx with index i signed with privkey multisign : (tx, i, script, privkey) -> signature apply_multisignatures: (tx, i, script, sigs) -> tx with index i signed with sigs scriptaddr : (script) -> P2SH address mk_multisig_script : (pubkeys, k, n) -> k-of-n multisig script from pubkeys verify_tx_input : (tx, i, script, sig, pub) -> True/False tx_hash : (hex or bin tx) -> hash history : (address1, address2, etc) -> outputs to those addresses unspent : (address1, address2, etc) -> unspent outputs to those addresses fetchtx : (txash) -> tx if present pushtx : (hex or bin tx) -> tries to push to blockchain.info/pushtx access : (json list/object, prop) -> desired property of that json object multiaccess : (json list, prop) -> like access, but mapped across each list element slice : (json list, start, end) -> given slice of the list count : (json list) -> number of elements sum : (json list) -> sum of all values File Type Py Version Uploaded on Size bitcoin-1.1.42.tar.gz (md5) Source 2016-01-11 36KB Author: Home Page: /vbuterin/pybitcointools Package Index Owner: DOAP record: bitcoin-1.1.42.xmlbitcoin apt install