btclib.org

The btclib organization website

View My GitHub Profile

The projects

btclib.org

Bitcoin cryptography in Python, written to be read.

These libraries grew out of Ferdinando Ametrano’s Bitcoin and Blockchain Technology course (Università di Milano-Bicocca, Politecnico di Milano, Università Statale di Milano, ESSEC Paris) and are used in production today. They are fully type annotated, cite the BIP, RFC or Bitcoin Core function a behaviour comes from, and are still marked beta because they are still refactored whenever that makes them clearer.

The libraries

Around them

How they depend on each other

How the organization's packages depend on each other

An arrow points at what a package depends on, and a dashed one at what only the extra it is labelled with installs. An extra in brackets is one the package asks of what the arrow points at.

Tested against other people’s vectors

The suites answer to vectors published by others (BIPs and SLIPs, Bitcoin Core, HWI, Trezor, RFC 6979), each pinned to its upstream commit and re-checked weekly. Coverage is held at 100%.

Contributing

Issues and pull requests go to each repository; its README and CONTRIBUTING.md say how. A change needs a clean lint gate, a passing suite at full coverage, a signed commit, and a changelog entry where a user would notice.

License

MIT.


The btclib organization and its projects are actively supported by DGI and CheckSig.