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.21.tar.gz (191.0 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.21-py3.9.egg (426.0 kB view details)

Uploaded Egg

buidl-0.2.21-py3-none-any.whl (203.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: buidl-0.2.21.tar.gz
  • Upload date:
  • Size: 191.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for buidl-0.2.21.tar.gz
Algorithm Hash digest
SHA256 ab40e9fe5ccc87d56fe02a6b26bf40a22f4c01a7f4384739ae62fc1fcb73d3a1
MD5 e078dba18997947ad9aad08dd28a58ce
BLAKE2b-256 5441e1ffb8b14dbe6ea28adafd2b1b60416c68300536f595b29e4d03b01dccb8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.21-py3.9.egg
  • Upload date:
  • Size: 426.0 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for buidl-0.2.21-py3.9.egg
Algorithm Hash digest
SHA256 e759841a52308f76049b3223e1471895496b61d6954a4daf88066ce992b6caab
MD5 ba95f6450c0c600b514358b21581c0ac
BLAKE2b-256 09846ce5b7e540cddcea7f975a06fbe8a42b9eb67d39d10c3ca42625de492119

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.21-py3-none-any.whl
  • Upload date:
  • Size: 203.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.0

File hashes

Hashes for buidl-0.2.21-py3-none-any.whl
Algorithm Hash digest
SHA256 f378d39d4c4290dff18e124cf4cd2935f30454817bd940e520508446f90dab1e
MD5 890ac110b45361376fc1a3c039ca5b45
BLAKE2b-256 00cb7990faa53aa12877b22ac4ac60c5cc8d6d76d7327119de21e3c6e9fcf0c0

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