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.27.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.27-py3.9.egg (443.5 kB view details)

Uploaded Egg

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: buidl-0.2.27.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.27.tar.gz
Algorithm Hash digest
SHA256 16b3297ec1edff527a83efbe83fbbe0a526ea62e82d89a6302c8011e952222dd
MD5 2b4280d530f3cec0fbf84bd1810462e7
BLAKE2b-256 a11a0b7acd24b82d26ca1de3e2cfa9cacb6df3e43d7ef44fc778241e6df8dee3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.27-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.27-py3.9.egg
Algorithm Hash digest
SHA256 19908bfc00e34ec69b15b4668f37af9c78f52fdd70cdc63321149b07b356e31b
MD5 1a3e84e078aa432e389869bc2a41f748
BLAKE2b-256 2b6505d6102a51110ecab4ff7abec6c4497922da36cd83d5b81f6543e1ed3aa7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.27-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.27-py3-none-any.whl
Algorithm Hash digest
SHA256 c7a16e176e0421cf9c29f0b1edfa9b3b7a828649cc8bd0d85faaa347e1bfe826
MD5 9285474c5c8fafb78c987d3f9d8766de
BLAKE2b-256 8f626520c0e174833d3f47d98fb77353a318bbcac863f17f9c68e3bf8bd684bd

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