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.15.tar.gz (175.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.15-py3.9.egg (386.7 kB view details)

Uploaded Egg

buidl-0.2.15-py3-none-any.whl (183.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: buidl-0.2.15.tar.gz
  • Upload date:
  • Size: 175.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.15.tar.gz
Algorithm Hash digest
SHA256 147f291bef7f19f544dff5d076f553c49775392795fed36fc34887beb787fca6
MD5 b500ece549755dc4274bbcbec840c704
BLAKE2b-256 53fdd510696e453cdbcef561e6ad6f061733df9222cee5bdbcd0f47c323cd527

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.15-py3.9.egg
  • Upload date:
  • Size: 386.7 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.15-py3.9.egg
Algorithm Hash digest
SHA256 a7396799dabd6313fae44b43bf4c7ee35f93a1aeb51d85870c905872b047dbb9
MD5 7fdd4061d5e93fb7e4b902060978916b
BLAKE2b-256 28e2329172c96857346e8945ee3cd1eb03d41c3f3bde2261ec1a9b4bd33654dc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.15-py3-none-any.whl
  • Upload date:
  • Size: 183.9 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.15-py3-none-any.whl
Algorithm Hash digest
SHA256 410bf1ff76b125e825c6f0e0c6c1fe4aafc551d2261b66d3f8859262f6e67421
MD5 185d8e62c6b7016a6e05a1752544aec4
BLAKE2b-256 7fcf26a1bb17088a533057533f50701d7c1fee4038aa26939eeeea44447739e9

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