From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WOosN-0005qm-4j for bitcoin-development@lists.sourceforge.net; Sat, 15 Mar 2014 13:43:47 +0000 Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of petertodd.org designates 62.13.149.80 as permitted sender) client-ip=62.13.149.80; envelope-from=pete@petertodd.org; helo=outmail149080.authsmtp.com; Received: from outmail149080.authsmtp.com ([62.13.149.80]) by sog-mx-2.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1WOosL-0001L9-NV for bitcoin-development@lists.sourceforge.net; Sat, 15 Mar 2014 13:43:47 +0000 Received: from mail-c235.authsmtp.com (mail-c235.authsmtp.com [62.13.128.235]) by punt17.authsmtp.com (8.14.2/8.14.2/) with ESMTP id s2FDhbrc000643; Sat, 15 Mar 2014 13:43:37 GMT Received: from savin (76-10-178-109.dsl.teksavvy.com [76.10.178.109]) (authenticated bits=128) by mail.authsmtp.com (8.14.2/8.14.2/) with ESMTP id s2FDhUe3068055 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Sat, 15 Mar 2014 13:43:34 GMT Date: Sat, 15 Mar 2014 09:43:40 -0400 From: Peter Todd To: bitcoin-development@lists.sourceforge.net Message-ID: <20140315134340.GA12937@savin> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; x-action=pgp-signed User-Agent: Mutt/1.5.21 (2010-09-15) X-Server-Quench: ce55205c-ac47-11e3-b802-002590a15da7 X-AuthReport-Spam: If SPAM / abuse - report it at: http://www.authsmtp.com/abuse X-AuthRoute: OCd2Yg0TA1ZNQRgX IjsJECJaVQIpKltL GxAVKBZePFsRUQkR bgdMdwcUFVQGAgsB AmIbWldeVF57WmY7 bAxPbAVDY01GQQRq WVdMSlVNFUsrA2p1 XntLURl0fwVDfTBx bUVhXj4ICUF/d0Z4 EVMFRmkBeGZhPWMC AkhYdR5UcAFPdx8U a1UrBXRDISxDPiU+ WgUyIzs2PDNbKS4d XFlLdBoITEIGFyUx D1VKFH0rGlJAQygt IhhuEk8AHEEXaAJp eVonRV8CPRYZB0VC GCMFHC9Ub3MAWyEs DAUSRVQZDDpWRiM0 X-Authentic-SMTP: 61633532353630.1023:706 X-AuthFastPath: 0 (Was 255) X-AuthSMTP-Origin: 76.10.178.109/587 X-AuthVirus-Status: No virus detected - but ensure you scan with your own anti-virus system. X-Spam-Score: -1.5 (-) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain -0.0 SPF_PASS SPF: sender matches SPF record X-Headers-End: 1WOosL-0001L9-NV Cc: Alex Mizrahi , Andy Weidenbaum Subject: [Bitcoin-development] python-bitcoinlib v0.1 release - a low-level Python2/3 interface to the Bitcoin protocol X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Mar 2014 13:43:47 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 I noticed that the ngccbase Colored Coin client(1) added a python-bitcoinlib dependency, specifically my fork. In addition there is also now a rudementary python-bitcoinlib package in archlinux. So with that in mind I'm releasing v0.1, perhaps somewhat arbitrarily: https://github.com/petertodd/python-bitcoinlib/tree/v0.1 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 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.(2) You'll find some examples for signing pay2script-hash and p2sh txouts in the examples/ directory; I personally used the transaction signing functionality to make up a set of unittests related to OP_CODESEPARATOR and FindAndDelete() recently. Finally my dust-b-gone script(3) is another good example, specifically of the RPC functionality. I personally haven't had any need for the p2p network related code for some time, so I'm sure it's not in a good state and it 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. This release and others in the future are signed by my PGP key, as well as every publicly pushed commit. You can verify the key via WoT, my bitcointalk account, signing history in the Bitcoin Core repo, and mailing list records among other sources. Disclaimer: This is alpha code in a language not known for type-safety. I wouldn't personally use python-bitcoinlib for anything other than experiments and neither should you. 1) https://github.com/bitcoinx/ngcccbase 2) https://github.com/bitcoin/bitcoin/pull/3861 3) https://github.com/petertodd/dust-b-gone - -- 'peter'[:-1]@petertodd.org 000000000000000097649e8d66395b3cb4527263409adf628c76cc56af0434fe -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) iQGrBAEBCACVBQJTJFkFXhSAAAAAABUAQGJsb2NraGFzaEBiaXRjb2luLm9yZzAw MDAwMDAwMDAwMDAwMDA3OGEyNGUxNTBlNTc2ZGVjZWUyYWQzMGNhMmE2YTRhMmM3 NGVkYmJkNjM2NDViNjcvFIAAAAAAFQARcGthLWFkZHJlc3NAZ251cGcub3JncGV0 ZUBwZXRlcnRvZC5vcmcACgkQJIFAPaXwkftZiwgAk8YVN9t76tKIKcWKyrGgv8yk UZGZkkrowED0lyhMXfmviezeWhjvHZgQrwha2hAuik36WEBN1jnv9wuJ6g9tnxGY PyG8n1SV2rtQ/QIJyL6wOuqL3UZi6d6IdZ/udVmyGwz+XhE89AwitR0++MvxkPNv i9R3Gw5Z1CnS2W0jGpAT88k3q3pqEzbYutP/FaylL2+6MuSUGwHUoY8dqcRkwkw1 eIrd2W33x4NvuxYPLnHR64uE0B8KoreZOyyskMdeMsKtZNflkfgfMiD10xnw2PGx z8S42wPbrI5ZYLL1OLdRfuKMdQ4qOyF4jfV+QRZWQ5t5Qh1akVWmz7ffFHGo0Q== =k1pi -----END PGP SIGNATURE-----