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

Uploaded Source

Built Distributions

chiabip158-1.0-cp39-cp39-win_amd64.whl (86.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

chiabip158-1.0-cp39-cp39-win32.whl (78.1 kB view details)

Uploaded CPython 3.9 Windows x86

chiabip158-1.0-cp39-cp39-manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.9

chiabip158-1.0-cp39-cp39-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

chiabip158-1.0-cp39-cp39-manylinux2010_i686.whl (2.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

chiabip158-1.0-cp39-cp39-macosx_10_14_x86_64.whl (143.7 kB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

chiabip158-1.0-cp38-cp38-win_amd64.whl (87.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

chiabip158-1.0-cp38-cp38-win32.whl (78.3 kB view details)

Uploaded CPython 3.8 Windows x86

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

Uploaded CPython 3.8

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

chiabip158-1.0-cp38-cp38-macosx_10_14_x86_64.whl (144.5 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

chiabip158-1.0-cp37-cp37m-win_amd64.whl (88.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

chiabip158-1.0-cp37-cp37m-win32.whl (79.0 kB view details)

Uploaded CPython 3.7m Windows x86

chiabip158-1.0-cp37-cp37m-manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.7m

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

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

chiabip158-1.0-cp37-cp37m-manylinux2010_i686.whl (2.3 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

chiabip158-1.0-cp37-cp37m-macosx_10_14_x86_64.whl (143.9 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: chiabip158-1.0.tar.gz
  • Upload date:
  • Size: 117.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0.tar.gz
Algorithm Hash digest
SHA256 746e80e27df4b8fb3041663f5a68bbe472b864c08336bf4bb74e4545610f615f
MD5 99a73d7ecaf7d0666c34034e64e32979
BLAKE2b-256 cb8306d9438e5b8c7915c57a50d7356efa09d2cafc1c31caabc808331acab280

See more details on using hashes here.

File details

Details for the file chiabip158-1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: chiabip158-1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 86.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b14402752d4596413ac69eda45f2959d367d62d2fa62bcaeaa25c204c2113c02
MD5 eb54ee4974b76d4ec622f08f42ed34ba
BLAKE2b-256 b6e8ac4d5fea9eda77b203e213131ca794e8b991e5b6bc56e2b0f87c405a9fa6

See more details on using hashes here.

File details

Details for the file chiabip158-1.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: chiabip158-1.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 78.1 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 2d6ef088378985fb2de2b4ffd4274d557b689281b4750c9744eb06b689b283e7
MD5 2716c25a43c604fe6bd1f7bc036a82f1
BLAKE2b-256 d70928292c7cf5368409b7ae6f989a5714b02a68687ce6735ed456a0ec002a68

See more details on using hashes here.

File details

Details for the file chiabip158-1.0-cp39-cp39-manylinux2014_aarch64.whl.

File metadata

  • Download URL: chiabip158-1.0-cp39-cp39-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.5

File hashes

Hashes for chiabip158-1.0-cp39-cp39-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9b9879757c0586c3650949340d6360292a2ba22edaf65462a5581adea1f3f56f
MD5 8e0c0b09aac85412e750985124dbb296
BLAKE2b-256 d33630ed7b5cbbfe522df5be98d5dd96f3ea9a418424155f61da389fcc316d74

See more details on using hashes here.

File details

Details for the file chiabip158-1.0-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: chiabip158-1.0-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 deeca52f312861be3d59013dc6078e6444834612528b8241da175f89d267312b
MD5 a2d164a4601ad6e0c3b950c48b6d8496
BLAKE2b-256 890be49baf09060504bfbd79918c17af4a6ce172c84f0cc2cd4e7b197a7a88ea

See more details on using hashes here.

File details

Details for the file chiabip158-1.0-cp39-cp39-manylinux2010_i686.whl.

File metadata

  • Download URL: chiabip158-1.0-cp39-cp39-manylinux2010_i686.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0-cp39-cp39-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 e50984c6034966791cdc31bbf6c2454e08700cb63df8ce95b6f42252f0261266
MD5 119365dde40feddf7836e1889465d1a0
BLAKE2b-256 9a86ae2ba7982f007b2d7ac3eed240ff8449c640ede2377590a56f127a6c3c69

See more details on using hashes here.

File details

Details for the file chiabip158-1.0-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: chiabip158-1.0-cp39-cp39-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 143.7 kB
  • Tags: CPython 3.9, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.8

File hashes

Hashes for chiabip158-1.0-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a66343890775466d74672fea5478c795e720251f119ae493660cf08966c945ed
MD5 06558fc6e981331e4ba8ca9f60c0f775
BLAKE2b-256 d12c7f3510480149088778c6f2d9f526b88c6d918a00d594ac2eeeb8a919a1c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 87.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 90920f0293004636b171e62ce8605b7f116bd2088d8b47fadcf318b89319c7dc
MD5 97855d9b19939cc5af0e69486aa559df
BLAKE2b-256 a55f394d70f7c28afd6d629f2b1406905da6863613952b481745c6e008c09a10

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 78.3 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 4f7c8289ebfaf8102c04700a1b1882669a7654c8c803f2f1d41889e1a9ff576e
MD5 98ceae73aad1d3ed8c9a52ffeb305085
BLAKE2b-256 d1979b0db6a43b57cb5da63d0d8b754943e9344ba330d677233b8bb3f135372d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.0-cp38-cp38-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.5

File hashes

Hashes for chiabip158-1.0-cp38-cp38-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 879e9a8f001a15bcb51db1fbd7023ccef53cba93fad649d14a7ec581736012e9
MD5 85d6cd4a5fc7f65c6b716e613d5a8884
BLAKE2b-256 a0d0580fe5930592e6f03295f9a8142fa680d4917c8f9bfda3799d1ad9eca695

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.0-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.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 cf7d687701797b625e6f4326638f5d93337c92e0a36b25c2aa5e301fdd980672
MD5 96d17e5eb0377c83a8354412b641dd84
BLAKE2b-256 2a653f62365ecb82d8e143d742f2a268d7c9b836a67333114a2d118541f0d70c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.0-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.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 a03154c65988e9258bc6c81a5d466f569b87129bdf7cf286d96ef34f00e5454a
MD5 d48b6ab3c99c1d9236ced26159f463fd
BLAKE2b-256 3d57c6b11c24f7bb30b05b8ed41b2db4ce90e9c3cb4faa07826aacee9f005e12

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.0-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 144.5 kB
  • Tags: CPython 3.8, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.8

File hashes

Hashes for chiabip158-1.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 6d98e9352595af008bf4fb08d6c8d8c023d6b67808e8aef7036ea25323c3e47d
MD5 3996052896408dba75e751fa924f26a9
BLAKE2b-256 cf3e52ff1be6763b373b60808a0d0c94f005258f9cf9195e1c9c709f454be6d5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 88.1 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 91eb9f9fd850976fd69c1df136eaf28de786aa3794cefe517112fa3ff1fa5959
MD5 11aabf32f9b383bf6250467622627059
BLAKE2b-256 8a973de5123b74876d429de87db1d59b7002b5b1238ddab9a7212c86129f7068

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 79.0 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 49fb865bc5c0c3f61d74ee21981a7059e9879431c2df1dec999847f80d9b3e02
MD5 0bc7a656cd4004c428fbc71a950efa2e
BLAKE2b-256 38e2a65cd16aaa4375e0288c8cbae0079acbfa7715f6437aad306d645e3fefb7

See more details on using hashes here.

File details

Details for the file chiabip158-1.0-cp37-cp37m-manylinux2014_aarch64.whl.

File metadata

  • Download URL: chiabip158-1.0-cp37-cp37m-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.5

File hashes

Hashes for chiabip158-1.0-cp37-cp37m-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0d62cd8fbb7e18d8ab82840a7bf5fa84bf5a3fb4f4d8004cd5f2c65cd66429e5
MD5 d7dd8cfccd8830428fa6a519ad006526
BLAKE2b-256 fec6704283f73246e6e633aeddac645a03da6bf6b44cf0318d5087d5f24f9d13

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.0-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.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8e5dc4da40b9b941b92266d302a8fd0b7b7ba1cde06bbaa036f078069dd125ea
MD5 c07b0156de4d40dce242b86b8b9e5edb
BLAKE2b-256 77a1128bb7ebd7306d1ef16763f3f7f562eacd710808d64ee686cb0ca8acbbdc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.0-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.7

File hashes

Hashes for chiabip158-1.0-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 3095d82975d6ab757097d2057c8deed935bad641e32e8442cc41f61bbff8610a
MD5 05caf3046a4e8f1c640468555c86dd14
BLAKE2b-256 e4fd291faa17bf614b0b98c272e42424b3ae5350bbf9d45acec327cb3b76ae5a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.0-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 143.9 kB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.8

File hashes

Hashes for chiabip158-1.0-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 8598b2c97121e860455ce7ccbf2f109f5065e30451fc13eeb67a164f34d7a0d8
MD5 240d8c22a154ddc8eaefe45933fc901e
BLAKE2b-256 d959a83ad1268c943505514cd12635d62b40b708144a849829620961883ed0fa

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