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.25.tar.gz (196.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.25-py3.9.egg (437.2 kB view details)

Uploaded Egg

buidl-0.2.25-py3-none-any.whl (209.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for buidl-0.2.25.tar.gz
Algorithm Hash digest
SHA256 a84ae3377f0d210f778616b95d8e35f8fa168c4ec59fe3062f026fe0bb402b5d
MD5 03942466b3f1834728272014c1778d47
BLAKE2b-256 c0cd87b792f2fb991c3951eb867f103bf5e095c1daba4b494522e00b656a05e7

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for buidl-0.2.25-py3.9.egg
Algorithm Hash digest
SHA256 517d14e219c59dc99e334af98972cf5ffb4e10f69c3c1bffceb38fb699cf87aa
MD5 06c2cd66b392720718bb39dce1375c43
BLAKE2b-256 60a4f236955c7ebd91f6c3e05a923c2c8c9c54fdd62dcf91bdc3c294fda2dd17

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for buidl-0.2.25-py3-none-any.whl
Algorithm Hash digest
SHA256 7c15093c6bab59625e12c57d458cd1d1fec58eb76e9a27731d341a45c195d12d
MD5 a69ee68c9f7c6c689217c6bd636d00d4
BLAKE2b-256 a3a1afccb016e73d7604cd6ae8dc3db90d50428d89cf7119359c143a88f5a640

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