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.18.tar.gz (181.3 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.18-py3.9.egg (400.8 kB view details)

Uploaded Egg

buidl-0.2.18-py3-none-any.whl (191.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: buidl-0.2.18.tar.gz
  • Upload date:
  • Size: 181.3 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.0 CPython/3.9.0

File hashes

Hashes for buidl-0.2.18.tar.gz
Algorithm Hash digest
SHA256 978964bd25cce111865d408bc9fc370a72b48796c7664fb9f2dd75d2459a1622
MD5 4dac171c39a90139b258da929cd590d8
BLAKE2b-256 cbf91e5f2b3a77dd525c8f12cf37232f2d6e7933f7e3906a83be9de0739e1735

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.18-py3.9.egg
  • Upload date:
  • Size: 400.8 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.0 CPython/3.9.0

File hashes

Hashes for buidl-0.2.18-py3.9.egg
Algorithm Hash digest
SHA256 2d7a3683af634997bbc27ee2d1dd2c881df14ce8ad6be09473de6bcf15c76897
MD5 e9452aa92de949664f46480e03b1315c
BLAKE2b-256 55224a0b88df17571ac1463b5879e290a4103c199486eb6b6aacd33ddc051e68

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buidl-0.2.18-py3-none-any.whl
  • Upload date:
  • Size: 191.8 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.0 CPython/3.9.0

File hashes

Hashes for buidl-0.2.18-py3-none-any.whl
Algorithm Hash digest
SHA256 c1210c032b53eb7d233e624d336c8161b8a0f0ac1315ba8254556d2f5eac0cb3
MD5 c427a5fb056cdf7f4799b4352a67d8b6
BLAKE2b-256 a227f15761fdfdb6fdc83d4ae4af4397b9a1a43054ce0e1d1954f732e0120006

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