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.23.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.23-py3.9.egg (433.0 kB view details)

Uploaded Egg

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: buidl-0.2.23.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.23.tar.gz
Algorithm Hash digest
SHA256 844e68d14b66bf11228a2bd3bf2e1ad5ed165db50ed93a43f2591edcb2215d26
MD5 8ee41b404c520ae57f1bfd87f0d26246
BLAKE2b-256 fe4d5f77a7df741db867b8416adc2014696f0c9c43c51f15dee11bf8e28270b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.23-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.23-py3.9.egg
Algorithm Hash digest
SHA256 01343e0fb2f6e6d13b33808953c4960a7b69708ad103daf5abab94c915318c0c
MD5 5c2ceb8d222b53568404dda2c40a9d5b
BLAKE2b-256 cd08b98a2de661449b8c7098cd136f65ee68951736bf80fc1be4df414290dbd0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.23-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.23-py3-none-any.whl
Algorithm Hash digest
SHA256 ac0111221cfc59c6156e39492e8fad8de315b12343fd978a2e233b1330b05700
MD5 441969d3bb777db357bc8c37fec606fd
BLAKE2b-256 d215bda2615b337e8c783655b2da58315d1f2209139728e3d8b0f4f6db4cb2c5

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