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.20.tar.gz (182.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.20-py3.9.egg (402.3 kB view details)

Uploaded Egg

buidl-0.2.20-py3-none-any.whl (192.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: buidl-0.2.20.tar.gz
  • Upload date:
  • Size: 182.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.0

File hashes

Hashes for buidl-0.2.20.tar.gz
Algorithm Hash digest
SHA256 71b69011c1d65989613bc639027916fb75e16f464b84a45e8299c743c6c234c9
MD5 57c992aea426597d5793ef8d0d41347c
BLAKE2b-256 742fc985333ad7114c6d3b41ab6723d7e6d3d834f8028b106ff23089dc9c5f1c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.20-py3.9.egg
  • Upload date:
  • Size: 402.3 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.0

File hashes

Hashes for buidl-0.2.20-py3.9.egg
Algorithm Hash digest
SHA256 00e02cb23b149e00ec570c5a4b3b708467467f64f27a81b8390f61749250bf4b
MD5 c70e824119173e0b310d11242cbe238f
BLAKE2b-256 3a4c0d850ec17a292581a82bf1a5f82eddb6bf735ad482d49c1a5f18fd16ef0e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.20-py3-none-any.whl
  • Upload date:
  • Size: 192.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.0

File hashes

Hashes for buidl-0.2.20-py3-none-any.whl
Algorithm Hash digest
SHA256 516f8c3ad511c24508b0a42a6628b14c3e989e9a61c2b05eb95a0fa47cc95a8b
MD5 a5cd0fe44d0d9b13d39a05dd2042a324
BLAKE2b-256 d910037a035f68ef90c19e5bbf962f1094da57984b91ba4920ca20bde313d4a1

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