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.24.tar.gz (194.7 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.24-py3.9.egg (433.0 kB view details)

Uploaded Egg

buidl-0.2.24-py3-none-any.whl (207.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: buidl-0.2.24.tar.gz
  • Upload date:
  • Size: 194.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.0

File hashes

Hashes for buidl-0.2.24.tar.gz
Algorithm Hash digest
SHA256 7a2110efd8132cd568b8d418ed214768b15473d5190cec414d89e21f2318dbc5
MD5 7cc2f8116541d5f5216db82a3a8359b3
BLAKE2b-256 51cc608dd5f1713e646f7c3c82d12c8a85c6db9792b69b048e75e38aca234935

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.24-py3.9.egg
  • Upload date:
  • Size: 433.0 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.0

File hashes

Hashes for buidl-0.2.24-py3.9.egg
Algorithm Hash digest
SHA256 31333a8ba5abfa7c4348f061d723ce2f5a83e4199e63ad7cbe556ac43a8700cb
MD5 605b12ef2c0e4fc6133a1598ce5f4e60
BLAKE2b-256 5ad593b54dfa8165ab62f7a47bf6af53905ee7b0bd6c598e3c2e370dcf07ff72

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.24-py3-none-any.whl
  • Upload date:
  • Size: 207.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.0

File hashes

Hashes for buidl-0.2.24-py3-none-any.whl
Algorithm Hash digest
SHA256 f9985da5763b543ef71081140aa5e9624cb0b66969c92c02a7c17daf749b4aed
MD5 2bda979e0f027ab0b8e69c297aeed054
BLAKE2b-256 f11a0065a4d1e8162dc25bbe610e7afeded7caf1ff5f2aba58d8b004aa6237a4

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