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.22.tar.gz (192.1 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.22-py3.9.egg (427.2 kB view details)

Uploaded Egg

buidl-0.2.22-py3-none-any.whl (204.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: buidl-0.2.22.tar.gz
  • Upload date:
  • Size: 192.1 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.22.tar.gz
Algorithm Hash digest
SHA256 b73d4d606d40d6a05b63e65a015779c7d89c36532f42794e6550a47df2a65ec5
MD5 0460daee9e43df3e244e4d352597d389
BLAKE2b-256 8d5c35cabd12230daed14270ca8ae3b3dfcf67d933dba1f2c30b213dacb56d2b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.22-py3.9.egg
  • Upload date:
  • Size: 427.2 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.22-py3.9.egg
Algorithm Hash digest
SHA256 07721e62f2d8a2c0cbb99bcb2c3a03b6979692eece1ddff88aa5185f78c675d8
MD5 70364c1efd5e00989583c7f554d61318
BLAKE2b-256 e41a08ff27525230809a9381f41d3132dd8cf8cdf2ef5da11398ff026d7cc68c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.22-py3-none-any.whl
  • Upload date:
  • Size: 204.3 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.22-py3-none-any.whl
Algorithm Hash digest
SHA256 f5b53db5d399e492dbfd5559d6a50f5289efc63191cb6877ff8c5abbc2f3c8d2
MD5 86a47905564d8cc4b4dda2669ea0546f
BLAKE2b-256 d1f767769bee694f249661a1880aed7b1eca702089d6a4f3c552d26f149e1534

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