public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Peter Todd <pete@petertodd•org>
To: bitcoin-development@lists•sourceforge.net
Cc: Alex Mizrahi <alex.mizrahi@gmail•com>,
	Andy Weidenbaum <archbaum@gmail•com>
Subject: [Bitcoin-development] python-bitcoinlib v0.1 release - a low-level Python2/3 interface to the Bitcoin protocol
Date: Sat, 15 Mar 2014 09:43:40 -0400	[thread overview]
Message-ID: <20140315134340.GA12937@savin> (raw)

-----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-----



             reply	other threads:[~2014-03-15 13:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-15 13:43 Peter Todd [this message]
2014-03-15 14:34 ` Peter Todd
2014-03-15 16:47   ` Jeff Garzik
2014-03-15 16:47 ` Jeff Garzik
2014-03-15 17:12   ` Drak
2014-03-15 17:21     ` Jeff Garzik
2014-03-15 17:22     ` Peter Todd
2014-03-15 18:04       ` Drak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140315134340.GA12937@savin \
    --to=pete@petertodd$(echo .)org \
    --cc=alex.mizrahi@gmail$(echo .)com \
    --cc=archbaum@gmail$(echo .)com \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox