Skip to main content

An easy-to-use and fully featured bitcoin library written in pure python (no dependencies).

Project description

THIS REPOSITORY COMES WITH ZERO GUARANTEES! USE AT YOUR OWN RISK!

buidl is a python3 bitcoin library with no dependencies. It is easy-to-read and has extensive test coverage. Because buidl has no dependencies, it is easy to install on airgapped computers (just copy over this directory).

Installation

Online

$ pip3 install buidl --upgrade

Offline

Download this repo and then run:

$ python3 setup.py install

Multiwallet

multiwallet is a stateless CLI multisig PSBT wallet. Since buidl has no dependencies, you can run multiwallet by just cding to the root directory of this project:

$ python3 multiwallet.py
Welcome to multiwallet...

If you have installed buidl, you can run multiwallet.py from any directory as follows:

$ multiwallet.py
Welcome to multiwallet...

For more information on installing multiwallet, see multiwallet.md or check out this demo.

Tests

Run tests with pytest:

$ git clone https://github.com/buidl-bitcoin/buidl-python.git && cd buidl-python
$ pytest -v

Run black:

$ black . --diff --check

Run flake8:

$ flake8 .

Performance

You can speed this library up ~100x by using C-bindings to bitcoin core's libsecp256k1 library.

OS Installation

On Ubuntu:

$ sudo apt install libsecp256k1-dev

On MacOS (HT cuber):

$ brew tap cuber/homebrew-libsecp256k1 && brew install pkg-config libffi libsecp256k1

Python Installation

$ git clone git@github.com:buidl-bitcoin/buidl-python.git && cd buidl-python && python3 -m pip install -r requirements-libsec.txt && python3 -m pip install --editable . && cd buidl && python libsec_build.py && cd ..

TODO:

  • Add libsec support/instructions to pypi version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

buidl-0.2.17.tar.gz (179.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

buidl-0.2.17-py3.9.egg (397.9 kB view details)

Uploaded Egg

buidl-0.2.17-py3-none-any.whl (190.5 kB view details)

Uploaded Python 3

File details

Details for the file buidl-0.2.17.tar.gz.

File metadata

  • Download URL: buidl-0.2.17.tar.gz
  • Upload date:
  • Size: 179.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.0

File hashes

Hashes for buidl-0.2.17.tar.gz
Algorithm Hash digest
SHA256 50b2ce2029ff9aaecaefecf224e012f25407474c0ab8659265db21c73f870010
MD5 86d21464987ef92d93b58324625c83f2
BLAKE2b-256 ff85f004c074cc13a04a0e0789e906abcc5f352fbfb0c5336a31f6f861ff4d20

See more details on using hashes here.

File details

Details for the file buidl-0.2.17-py3.9.egg.

File metadata

  • Download URL: buidl-0.2.17-py3.9.egg
  • Upload date:
  • Size: 397.9 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.0

File hashes

Hashes for buidl-0.2.17-py3.9.egg
Algorithm Hash digest
SHA256 e8bb0f446e4f1232325b14e44a5c9476244e4b990a66a2323b401a543b9e6add
MD5 f8b4aacb5f0367efef54e743de4bb13f
BLAKE2b-256 96597a33fce738a6ac38da93c5e1f665d32e25c7247e8a55c08bfdc16d8a73cb

See more details on using hashes here.

File details

Details for the file buidl-0.2.17-py3-none-any.whl.

File metadata

  • Download URL: buidl-0.2.17-py3-none-any.whl
  • Upload date:
  • Size: 190.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.0

File hashes

Hashes for buidl-0.2.17-py3-none-any.whl
Algorithm Hash digest
SHA256 011f10c6339cd88a6e05eb360a073c5096a25f03d49724a86d25fd8e17276413
MD5 67a7c1501efca8e6680af3251e5e9f67
BLAKE2b-256 f5772c49062326ae36681b9bb52fb089a146ecef45e032b4c9e1e0df5b8dffb5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page