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.14.tar.gz (174.9 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.14-py3.9.egg (386.5 kB view details)

Uploaded Egg

buidl-0.2.14-py3-none-any.whl (183.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: buidl-0.2.14.tar.gz
  • Upload date:
  • Size: 174.9 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.14.tar.gz
Algorithm Hash digest
SHA256 5fcb36ad84c83bca96e3453bee5213377b41646317539b57cb4869bae9dfa6a5
MD5 7da61585c24be7a4468491f5e023c206
BLAKE2b-256 8bf1be433de824047521a5cb4da137775e2078f39ea3889d15692a77ec4cf6fb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.14-py3.9.egg
  • Upload date:
  • Size: 386.5 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.14-py3.9.egg
Algorithm Hash digest
SHA256 0d740be0ff6dc3886c5def1636ea7da433097bb571c266c44b1440c8fb59de61
MD5 b8832edfcb607dff69b0e733ca08b309
BLAKE2b-256 8f5a82de310c634db2ff1c24c026ada8ac4cbe7fd5a82bbc3ef6b1a015e8de96

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.14-py3-none-any.whl
  • Upload date:
  • Size: 183.7 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.14-py3-none-any.whl
Algorithm Hash digest
SHA256 62ab9e04206fa1fa4b58f5a03be921b1d1146f2834caf9a8e200e2edf42a1c0f
MD5 51a875e350d4c24dd34a351828fcf9bd
BLAKE2b-256 45db42bf0c58cf4529f8ab9c0d16d168cbdaec12189f13d2d614f816fd2f6a67

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