Skip to main content

Chia BIP158 (wraps C++)

Project description

Chia BIP158

Build PyPI PyPI - Format GitHub

Total alerts Language grade: Python Language grade: C/C++

This implements the compact block filter construction in BIP 158. The code is not used anywhere in the Bitcoin Core code base yet. The next step towards BIP 157 support would be to create an indexing module similar to TxIndex that constructs the basic and extended filters for each validated block.

Install

python3 -m venv venv
. venv/bin/activate
pip3 install .

Run python tests

python3 tests/simple_test.py

Installation steps on a fresh OSX image

Install brew:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew install python3  
brew install boost  

At this point the only error is can’t find boost_thread lib

The issue is the homebrew boost ships libboost_thread-mt libs but doesn’t include plain libboost_thread, so clang can’t find it. Interestingly, homebrew boost does have both plain and -mt files for the libboost_system libraries.

$ find /usr/local/lib/ | grep boost_thread  
libboost_thread-mt.a  
libboost_thread-mt.dylib  

Solution, with no guarantees that this is "the Right Way to do things", but appears to work fine for the configure stage:

cd /usr/local/lib  
ln -s libboost_thread-mt.a libboost_thread.a  
ln -s libboost_thread-mt.dylib libboost_thread.dylib  

ci Building

The primary build process for this repository is to use GitHub Actions to build binary wheels for MacOS, Linux (x64 and aarch64), and Windows and publish them with a source wheel on PyPi. See .github/workflows/build.yml. CMake uses FetchContent to download pybind11. Building is then managed by cibuildwheel. Further installation is then available via pip install chiabip158 e.g.

Contributing and workflow

Contributions are welcome and more details are available in chia-blockchain's CONTRIBUTING.md.

The master branch is usually the currently released latest version on PyPI. Note that at times chiabip158 will be ahead of the release version that chia-blockchain requires in it's master/release version in preparation for a new chia-blockchain release. Please branch or fork master and then create a pull request to the master branch. Linear merging is enforced on master and merging requires a completed review. PRs will kick off a GitHub actions ci build and analysis of chiabip158 at lgtm.com. Please make sure your build is passing and that it does not increase alerts at lgtm.

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

chiabip158-0.1b1.tar.gz (110.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

chiabip158-0.1b1-cp38-cp38-win_amd64.whl (81.1 kB view details)

Uploaded CPython 3.8Windows x86-64

chiabip158-0.1b1-cp38-cp38-win32.whl (71.1 kB view details)

Uploaded CPython 3.8Windows x86

chiabip158-0.1b1-cp38-cp38-manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.8

chiabip158-0.1b1-cp38-cp38-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

chiabip158-0.1b1-cp38-cp38-manylinux2010_i686.whl (2.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ i686

chiabip158-0.1b1-cp38-cp38-macosx_10_14_x86_64.whl (134.2 kB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

chiabip158-0.1b1-cp37-cp37m-win_amd64.whl (81.7 kB view details)

Uploaded CPython 3.7mWindows x86-64

chiabip158-0.1b1-cp37-cp37m-win32.whl (72.1 kB view details)

Uploaded CPython 3.7mWindows x86

chiabip158-0.1b1-cp37-cp37m-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

chiabip158-0.1b1-cp37-cp37m-manylinux2010_i686.whl (2.2 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ i686

chiabip158-0.1b1-cp37-cp37m-macosx_10_14_x86_64.whl (133.3 kB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

File details

Details for the file chiabip158-0.1b1.tar.gz.

File metadata

  • Download URL: chiabip158-0.1b1.tar.gz
  • Upload date:
  • Size: 110.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for chiabip158-0.1b1.tar.gz
Algorithm Hash digest
SHA256 8a4099fa16c899ad66c932d4168acc55d4009047e039add785fa52a6e1255b47
MD5 06f6744b59a39f162d3b604ada2180c7
BLAKE2b-256 0c8c8510efb569827476dda259ed28b043b4bf799795197af4ea9620096839f1

See more details on using hashes here.

File details

Details for the file chiabip158-0.1b1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: chiabip158-0.1b1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 81.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for chiabip158-0.1b1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3d40c28afaaefac0bc58049c9fe81d79d01978212ca4e2ba288b6a54c2b2c997
MD5 4241b25bde2075d36c2921cd112228da
BLAKE2b-256 9e0a94ea3ef8801106632821da2f03790740c30a95b0fb715bc3e89a650fe6b3

See more details on using hashes here.

File details

Details for the file chiabip158-0.1b1-cp38-cp38-win32.whl.

File metadata

  • Download URL: chiabip158-0.1b1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 71.1 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for chiabip158-0.1b1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 45753e38ea117f8fca1d3e4c81c1f666be7237b407e4a6e356b435c8c99cf904
MD5 806733a6809e4bd81f9bdf565813a1dc
BLAKE2b-256 0b465b48b8604e9fdae0c9d8c0dea8695c9398e603175bc58097af48519d095a

See more details on using hashes here.

File details

Details for the file chiabip158-0.1b1-cp38-cp38-manylinux2014_aarch64.whl.

File metadata

  • Download URL: chiabip158-0.1b1-cp38-cp38-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

File hashes

Hashes for chiabip158-0.1b1-cp38-cp38-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0f31b872505d6c13898df8af111981e9ed56205530e71448ae56b377697c2d19
MD5 7012375da4c83d5c1dc81b82e28e755e
BLAKE2b-256 498fe91e879a199c180598203c779f5650a5dd75984d811781924cf68e6b66ea

See more details on using hashes here.

File details

Details for the file chiabip158-0.1b1-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: chiabip158-0.1b1-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for chiabip158-0.1b1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e3be3f7b99e61c07fce3f9d46f2a18a954bb85b9f8d80d0ef9a895a59831737b
MD5 86e456f8ece9f60e163e7976b97cbbfc
BLAKE2b-256 ecee84bcedb082125e4f73ebac9188025d7fa4c64956a09d76ed252606a2c6f4

See more details on using hashes here.

File details

Details for the file chiabip158-0.1b1-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: chiabip158-0.1b1-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for chiabip158-0.1b1-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 9e9ddb37273141305bce444de05cb4e149b6498ba5586a1ad8ce50851b3eced1
MD5 6d8df2459de9459b000de1035e741fee
BLAKE2b-256 7d5e1b3ad1892b34159f4b5f8d568f07df73969d4d96fe552fe45376e4769796

See more details on using hashes here.

File details

Details for the file chiabip158-0.1b1-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: chiabip158-0.1b1-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 134.2 kB
  • Tags: CPython 3.8, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for chiabip158-0.1b1-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 af8d3ed3616fa87ea1680d6f141e33b05fa4b8970f6b1e2d1c7b7c4635ebe299
MD5 137cbf79f9c08cd43105aa1fed9687cf
BLAKE2b-256 db134b03682941952ffb9acea3af0052862b70e98a634b85944fe49972390448

See more details on using hashes here.

File details

Details for the file chiabip158-0.1b1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: chiabip158-0.1b1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 81.7 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for chiabip158-0.1b1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 a9c7b591cf4f61c747c5fc93d682a3896c358e1ca24d973082d7ef07c35cd6fb
MD5 56250776760c70f4182863405c566038
BLAKE2b-256 f88f97ea4f830e9669a7cd4918876839794f730e651adb5fc7717e52e040cbf2

See more details on using hashes here.

File details

Details for the file chiabip158-0.1b1-cp37-cp37m-win32.whl.

File metadata

  • Download URL: chiabip158-0.1b1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 72.1 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for chiabip158-0.1b1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 4d4bf83d21a3d008e6a9b82abe617db27e258a2ce358d48d58c31a0d8b60d47e
MD5 616349ee65704c9009ae8a25ebf7c33a
BLAKE2b-256 d23acf6dc295eadbac3755aa5d54f2a0c76780845d53ff7b517976b877086e5b

See more details on using hashes here.

File details

Details for the file chiabip158-0.1b1-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: chiabip158-0.1b1-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for chiabip158-0.1b1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 72b1b28386a52ff251494ff51a6482ae583544ae7cf0453b5d855bc819b30417
MD5 289d108fe17a05a29a0b7b346ba65504
BLAKE2b-256 69e8e60311d51a7e245f7f9d71a6b145b67f7cb7b31fbb7cca1274cb43f51a7c

See more details on using hashes here.

File details

Details for the file chiabip158-0.1b1-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: chiabip158-0.1b1-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for chiabip158-0.1b1-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 51c706b2aa4cdc1f93a71ef063093679a771d95efde7be58f716e0f59b681e8b
MD5 c809dd338b62c1adea6fc7e8c33bb302
BLAKE2b-256 0da1df5bdb6c15c89141bc1ad9ecf278797da6668a5eca351639d9798dc7e942

See more details on using hashes here.

File details

Details for the file chiabip158-0.1b1-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: chiabip158-0.1b1-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 133.3 kB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for chiabip158-0.1b1-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 05caa4287a6e23e41293050ef0deb9fc12ea6b6ec13f7629b86a6b7c0d8f4c32
MD5 6d5e653308d645c56f26a496db1dd29d
BLAKE2b-256 1277a80590fbb1e14dd5b71cd2c018d69d13b92a69da19ede8abb0bf7a1b89f1

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