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.26.tar.gz (199.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.26-py3.9.egg (443.5 kB view details)

Uploaded Egg

buidl-0.2.26-py3-none-any.whl (212.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for buidl-0.2.26.tar.gz
Algorithm Hash digest
SHA256 2c67534e42928b0e6ddadd8b6e62ab4b3b8bd425b86d15f6536df2b08c3d2e57
MD5 ac5e8732578c77e7eb0a3c23fdca2cc1
BLAKE2b-256 759e142897d2efe0d260c424bb33a9e93a189a07c81536d1eda31641125ebc8c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for buidl-0.2.26-py3.9.egg
Algorithm Hash digest
SHA256 05593afbc2c222abe0a32f78d8e9a0ca42d7178c8e7360a32399ba62929d3376
MD5 96d07615868753e4f656f0f728507c15
BLAKE2b-256 59a84fd666aaeec14854841322804cdfde05f217e6c67f6ed589e01a7abaa213

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for buidl-0.2.26-py3-none-any.whl
Algorithm Hash digest
SHA256 5cb1287276bab003642a9ad368b325b923b995a123ae9e258def4520f6f27b18
MD5 ad2024cd9d2b6d73a0a165f22fa893ed
BLAKE2b-256 e3fa38fe1e5b673ca7953e8490849bb91c0835bf3d050af83a8ef537f954440c

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