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.12.tar.gz (162.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.12-py3.9.egg (376.3 kB view details)

Uploaded Egg

buidl-0.2.12-py3-none-any.whl (173.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for buidl-0.2.12.tar.gz
Algorithm Hash digest
SHA256 49a5c2873528683dd0a90531fe89a012f766a3d7a0ac8b915ebeebcd6819396b
MD5 ed4bdfccac21ce94cea6ffa51927961b
BLAKE2b-256 3c904d7e41b15608ea3334d57d62fb89c4fa6a48489585a941608301b9d9302c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for buidl-0.2.12-py3.9.egg
Algorithm Hash digest
SHA256 49b1733a7238b3267a0d7dbd481ca1ade58e8a9a1ece93eda452a126d19011f4
MD5 4bbfd01bfa7ef8a3279f52abc584f789
BLAKE2b-256 22ab074f86b5ab7a6152a5388170a76e545b0cbd866e4800c9642484d739d36f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for buidl-0.2.12-py3-none-any.whl
Algorithm Hash digest
SHA256 1f7a36d058f62f7deae8494ef48fc3ea442ed082c2948bbccd7bd0687a5e3eda
MD5 b0a7a91a5da99cae16c861f08ed72c2d
BLAKE2b-256 864ca877a8f08c93715e49221d2201f03b155d9b9846c8c14d44ca702e7edb55

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