Published on: 2014-03-15T18:04:37+00:00
On March 15, 2014, Peter Todd announced the release of v0.1 of Python-bitcoinlib, a Python2/3 library that offers 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 in a Pythonic way, without straying far from the Bitcoin Core implementation. The current status of the library as of v0.1 is that the support for data-structures related to transactions, scripting, addresses, and keys are all quite usable and the API is probably not going to change that much. Bitcoin Core RPC support is included and automatically converts the JSON to/from Python objects when appropriate. The release and others in the future are signed by Todd's PGP key, as well as every publicly pushed commit.Todd mentioned that he hasn't had any need for the p2p network-related code for some time, so it's not in good shape and lacks unittests; Bloom filters for one are missing the Merkle-block support to actually make them useful. But the RPC support makes up for that for many uses.Jeff Garzik responded to Todd's announcement and said that it sounds great and he is glad to see this with a more active maintainer. Maintaining -three- client libs was a bit much for him.Lastly, Drak asked if it would make sense to pull the stuff in and add Peter with commit access since Todd's repo is top of the fork tree.Peter Todd, a Bitcoin core developer, has released v0.1 of his Python2/3 library for 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 in a Pythonic way without straying far from the Bitcoin Core implementation. The current status of the library as of v0.1 is that the support for data-structures related to transactions, scripting, addresses, and keys are all quite usable and the API is probably not going to change that much. Bitcoin Core RPC support is included and automatically converts the JSON to/from Python objects when appropriate. EvalScript(), VerifyScript(), and SignatureHash() are all functional and pass all the Bitcoin Core unittests, as well as a few that are still yet to be merged. You will find some examples for signing pay2script-hash and p2sh txouts in the examples/ directory; Todd personally used the transaction signing functionality to make up a set of unittests related to OP_CODESEPARATOR and FindAndDelete() recently. Finally, his dust-b-gone script is another good example, specifically of the RPC functionality.The email thread reveals a discussion between Jeff Garzik, a Bitcoin core developer and open source evangelist, and Peter Todd, discussing the python-bitcoinlib dependency. Todd states that the ngccbase Colored Coin client has added his fork of python-bitcoinlib as a dependency. He further mentions the existence of a rudimentary python-bitcoinlib package in archlinux. Todd attributes the bulk of the code structure of his fork to Jeff Garzik's implementation, while also clarifying that he has made some changes to "pythonize" the code. In turn, Garzik credits the project's inception to ArtForz, who started the project with his half-a-node. Todd provides a link to Garzik's original implementation on Github.Peter Todd, a software developer, noticed that the ngccbase Colored Coin client added a python-bitcoinlib dependency, specifically his fork. He also mentioned that there is now a rudimentary python-bitcoinlib package in Arch Linux. Todd's fork is based on Jeff Garzik's implementation, and the bulk of the code structure is his work, modulo "pythonizing" that he has done. Todd provided a GitHub link to Garzik's implementation for those who are interested in its history.The developer, Peter Todd, has released a new version (v0.1) of his python-bitcoinlib library on Github. The library provides easy access to Bitcoin's data structures and protocol in a Pythonic way. It includes support for all data-structures related to transactions, scripting, addresses, and keys, which is quite usable; although some p2p network-related code is missing. Also, the API will probably not change that much. The release is signed by Peter Todd's PGP key, as well as every publicly pushed commit.
Updated on: 2023-08-01T07:58:08.203909+00:00