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.15.tar.gz (114.5 kB view details)

Uploaded Source

Built Distributions

chiabip158-0.15-cp38-cp38-win_amd64.whl (85.2 kB view details)

Uploaded CPython 3.8 Windows x86-64

chiabip158-0.15-cp38-cp38-win32.whl (75.3 kB view details)

Uploaded CPython 3.8 Windows x86

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

Uploaded CPython 3.8

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

chiabip158-0.15-cp38-cp38-macosx_10_14_x86_64.whl (138.3 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

chiabip158-0.15-cp37-cp37m-win_amd64.whl (85.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

chiabip158-0.15-cp37-cp37m-win32.whl (76.2 kB view details)

Uploaded CPython 3.7m Windows x86

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

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

chiabip158-0.15-cp37-cp37m-macosx_10_14_x86_64.whl (137.4 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

File details

Details for the file chiabip158-0.15.tar.gz.

File metadata

  • Download URL: chiabip158-0.15.tar.gz
  • Upload date:
  • Size: 114.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.15.tar.gz
Algorithm Hash digest
SHA256 f03adcc98b5614224917f0c610115a3ea82b4f563e3bb91442ab5d38079fc83f
MD5 af604eaef6271ff3300aae712f1e2cc3
BLAKE2b-256 6e1fcba22cf62bbac9d6d5e458ba7ba3ef729e085dc6c9d749c746c9cd7c4b11

See more details on using hashes here.

File details

Details for the file chiabip158-0.15-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: chiabip158-0.15-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 85.2 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/47.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.15-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2f17566f23f129859ceb247db140dc1917b264e4b2e45a0158bcde8b42f59729
MD5 30b07c2da33ca80e2b396d2d0a36e114
BLAKE2b-256 6fcdff56eb6a3390b455e5b469ddecaa0694e5d6242404e5dbe97d36ad4214a7

See more details on using hashes here.

File details

Details for the file chiabip158-0.15-cp38-cp38-win32.whl.

File metadata

  • Download URL: chiabip158-0.15-cp38-cp38-win32.whl
  • Upload date:
  • Size: 75.3 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/47.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.15-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 ca874d47e22ae2f6a2575930cc167307654b6cd72f83440574a3c5d17304915e
MD5 b3669b22a20481dc3f305612f5917e4c
BLAKE2b-256 0fd63530e68feaa650810a3a06542398c3a03b69d9bdbe32daef81e246182713

See more details on using hashes here.

File details

Details for the file chiabip158-0.15-cp38-cp38-manylinux2014_aarch64.whl.

File metadata

  • Download URL: chiabip158-0.15-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.47.0 CPython/3.8.2

File hashes

Hashes for chiabip158-0.15-cp38-cp38-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 69b925f70566d157969a984908a272f78aeeeebb5fe657deb814427043762db5
MD5 793689d60c612a464e332030e4f6c4ed
BLAKE2b-256 29ad43886b50e6c8f1351429b581e8caa904d6235d30b60444b8be18253f68d2

See more details on using hashes here.

File details

Details for the file chiabip158-0.15-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: chiabip158-0.15-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.47.0 CPython/3.7.7

File hashes

Hashes for chiabip158-0.15-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ee934b12c470ab752844f30321f1ddeb1ec7b7430738db64f99610d042f6b7b2
MD5 ee2a9f1d7f1df9d8d4c4af48dbe1c2d4
BLAKE2b-256 3e7cb203a847a8bf6cdb8be68839070baf08691b69a5f54b6beaaa293d56d6ae

See more details on using hashes here.

File details

Details for the file chiabip158-0.15-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: chiabip158-0.15-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.47.0 CPython/3.7.7

File hashes

Hashes for chiabip158-0.15-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 f524ab52401a950d816c6ba94199eb58f6b2347e3d5fa64ccb4276d43c42a6de
MD5 cbc4508dd8a1cb4b60631f3976d02948
BLAKE2b-256 547f96f745daab8366fcf489950ca98f6f010361d6e76485c5927b48ab12469b

See more details on using hashes here.

File details

Details for the file chiabip158-0.15-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: chiabip158-0.15-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 138.3 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/47.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.15-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 bbe67f9b34e37c3b2b9d94ac9a74d0296c3540fd5e9abba4b7b4a85ca5a2568a
MD5 c6168c88035ceb1bce06688096bb3373
BLAKE2b-256 864b75f87dcd8dd07eff11d7e1e0dcae8168c823d65086deed43344739ccdc4b

See more details on using hashes here.

File details

Details for the file chiabip158-0.15-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: chiabip158-0.15-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 85.8 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/47.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.15-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 5879ab4559fb66918ff73d3bdddc41468e6ad209e4d030a79755c3e0259f38db
MD5 0877de5bf73687592149cefe42781698
BLAKE2b-256 fa28d186a175bbdb9b6f9bec70af9d9cceb648ebe1d2ef18fb5935684a083cde

See more details on using hashes here.

File details

Details for the file chiabip158-0.15-cp37-cp37m-win32.whl.

File metadata

  • Download URL: chiabip158-0.15-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 76.2 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/47.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.15-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 ec989d08971658556ad6f46554aa6512286fc271c1a218dce1c2de0711b709bb
MD5 ae599a2c44657f3ede976cda2ce838d5
BLAKE2b-256 92b04a3c9dc1e1ff52581891b3e296deafdeebf16a058a7f6a10e166c19ccfe3

See more details on using hashes here.

File details

Details for the file chiabip158-0.15-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: chiabip158-0.15-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.47.0 CPython/3.7.7

File hashes

Hashes for chiabip158-0.15-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 55009f023eefd9e581a831a82e505bf42a75fdde09f33e286ff4a5e566aec866
MD5 ef40ba2652e61ccbdd5ffa71acf18918
BLAKE2b-256 60c0f3a5dce8f0e685717d7ad333d9ad7cf20e627a79955c0181f591de8c91e4

See more details on using hashes here.

File details

Details for the file chiabip158-0.15-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: chiabip158-0.15-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.47.0 CPython/3.7.7

File hashes

Hashes for chiabip158-0.15-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 877a136d08073562e749d39c5382850cc4bf99397992095c2287835fc234b6d8
MD5 c20c047180af374c443143083e723396
BLAKE2b-256 fc4581f0179627a9b257899a9f345753803f4f9ab827853a519b66bfb37c3b29

See more details on using hashes here.

File details

Details for the file chiabip158-0.15-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: chiabip158-0.15-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 137.4 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/47.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.15-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 5a97f69878edbea1d5c30ea7360f890cb4d35adfe4a66c505ddc9f4643282047
MD5 71506a6e478d686baf318c677129dde1
BLAKE2b-256 c7c5831353faada2d4c736ddc538532487f3b58396aad4ab9882b3b31abe997d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page