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

Uploaded Source

Built Distributions

chiabip158-1.5.1-cp312-cp312-win_amd64.whl (79.1 kB view details)

Uploaded CPython 3.12 Windows x86-64

chiabip158-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

chiabip158-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

chiabip158-1.5.1-cp312-cp312-macosx_11_0_x86_64.whl (155.1 kB view details)

Uploaded CPython 3.12 macOS 11.0+ x86-64

chiabip158-1.5.1-cp312-cp312-macosx_11_0_arm64.whl (148.8 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

chiabip158-1.5.1-cp311-cp311-win_amd64.whl (79.9 kB view details)

Uploaded CPython 3.11 Windows x86-64

chiabip158-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

chiabip158-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

chiabip158-1.5.1-cp311-cp311-macosx_11_0_x86_64.whl (157.6 kB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

chiabip158-1.5.1-cp311-cp311-macosx_11_0_arm64.whl (151.7 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

chiabip158-1.5.1-cp310-cp310-win_amd64.whl (79.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

chiabip158-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

chiabip158-1.5.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ x86-64

chiabip158-1.5.1-cp310-cp310-macosx_11_0_x86_64.whl (156.0 kB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

chiabip158-1.5.1-cp310-cp310-macosx_11_0_arm64.whl (150.3 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

chiabip158-1.5.1-cp39-cp39-win_amd64.whl (79.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

chiabip158-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

chiabip158-1.5.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

chiabip158-1.5.1-cp39-cp39-macosx_11_0_x86_64.whl (156.3 kB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

chiabip158-1.5.1-cp39-cp39-macosx_11_0_arm64.whl (150.5 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

chiabip158-1.5.1-cp38-cp38-win_amd64.whl (78.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

chiabip158-1.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

chiabip158-1.5.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

chiabip158-1.5.1-cp38-cp38-macosx_11_0_x86_64.whl (156.0 kB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

chiabip158-1.5.1-cp38-cp38-macosx_11_0_arm64.whl (150.1 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: chiabip158-1.5.1.tar.gz
  • Upload date:
  • Size: 125.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for chiabip158-1.5.1.tar.gz
Algorithm Hash digest
SHA256 c883fe663bc7ea6951ad91be40e0ebcddadfe5049f82e531db989b8710bcd8c9
MD5 e041227ddc06c8f20ecad2f272f7a4f0
BLAKE2b-256 317d1e492cb76d2f7ab2ca5b242a027a7fd0a553fee0cf8a81cba05fb5c5afe1

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 09405564e2a42b08a698d3865669a6a1aff66f3d55947304a2b7e7702e97d81a
MD5 dc8c7dde2052ee9acec5dbe55ddb9178
BLAKE2b-256 92bb55fadee085684ea240a4fb3f2f977a6e39333a94d90d7b0ecd49943ec0c8

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e54ee97844c327ddcfc4a1053671238b79d0d9a23524858a6b4b85ac26e2ac0
MD5 e0845fefd89b802de6bdd4b8bd9859ac
BLAKE2b-256 51687f7d59dfbdfaa3e9f4b0d3719105ffba11b34a8f1965e981c946f436b21f

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bc169685d5d5896a58cf795a3ecf8eb35ca388db823878233b45aef3f1498971
MD5 51c0d8e64b0b884024540b3092866bba
BLAKE2b-256 ff7065fab8df908d66cc94a3f1262ca6ea22086414a62464b23ebee561330f73

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9039051893b5f526d916da771a8a920d082c2a8ac07f0020d59754c0bf3fd60a
MD5 715b793ef6a887e0a0b2d0ed1f489ae9
BLAKE2b-256 fbcac635432e6d6c77fb5bd3e88321461169cb8923ab0bacb6e668d660d1865f

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a964b036cef3d8dbb75368109aa00c0c83659cda02bf97b4de34f20ab8ccc58a
MD5 bd1d2dcd20cbb1ac94f8a954413f2f18
BLAKE2b-256 b527289c710d2236e6132c4f42ed9a7f3f003cfb042519b1b4418b29354972a4

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5aebca9e77e41c16e0e764534c50fbf262ec6c868834a37597f82b5813a48180
MD5 d469ee9cca64daa41d5b822f08dbb319
BLAKE2b-256 48f206655833c6c68ca60681228661287f22820d9d339b3aa9cece9751b7e706

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 80249a8e8e7a1a9239fa3d5166aa0106d74bcd1ccd5d6f63018d2ea1e5e81c5f
MD5 556c1b323e25c59482730ac837c963d8
BLAKE2b-256 5a26d3a37cb6b7deec2873bf673d98ba732317c39eb62626cc03a9522f670386

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6d468a38ea70016db649b95bd647d2c7225a6ea7d8187dd4c33b5298cc4f4002
MD5 78143b51ddf4872d221956b21c2b0d99
BLAKE2b-256 b33536fe982592cd100efa18066b0d674465ee5c27a2599bd9410cf210e117de

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9baffcfbcb26d630b35f6a0b4b64b3acd4b70ca8badf9728c4d5544a1e727d4e
MD5 ed10d50c8ee231bd873c001438832d16
BLAKE2b-256 01b75f56a6a1b191c0225a5d7153555f1ae468840b59404e737d40f70ac0f62d

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 61bf7d6092ae5db09ff962cddf93ab851a74218c07768ffd3b981bd05766bed5
MD5 042dfaa15fb3058a7097cf31b4e03d1b
BLAKE2b-256 af45e1119b86ec34272d2322f92abd4f80226d48b37970c13e3ba55c4c2ec8b8

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7530bf8253a3774415e400c927f9b292a63038160e00afd46ed0a3d49a677214
MD5 a1a97e053b4095501ca14fee1095c523
BLAKE2b-256 697f5bdbe7999af063be8c9cd3b4bff5546fdada00aac109939d33ff7fc2a7e6

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3111434ebc61ec182a04841adc23bc19a093457f4f4893df388d9e62d7890a88
MD5 ea112971c9b7a5ac431a780e3ba1ecaf
BLAKE2b-256 a9daf85173a800ef6dcb4aaee2bb04173525dad40daa1e2ee2dff1273cd7a312

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 54c31058d6425b707373c1d1ee377c5963bf0f027b36d1cb9efd93c251444bf8
MD5 8ac10d26a272f5a0819cf9b05399f9c5
BLAKE2b-256 9fc06515fefbab42635618c2b8936a636b311c6fc0837618e900a5bc531eea15

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 cda3bdf571919b510a739d0bfa4a936da6f2df0a87946c8f78b4d87e0a6c6274
MD5 2d2b2f1115c1f224e277405745123551
BLAKE2b-256 1a331a67a11b38e612da67fb186dd4e7c457034058964f02f11dc68a5a9f4c59

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c889ad321d4aca4e0a9820665d264d1822b8d2e2402eaf5a3d36a5fdb5502b76
MD5 25fb0057c37231c8a558dc6eb55212f8
BLAKE2b-256 79190a8d3a0d797542f836c372671ebeb8da6e8642e723a655796bc6d462a71a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.5.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 79.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for chiabip158-1.5.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bfeece41abea633aab2b768ca704f981472dd2878e9c89cbe46a84c3fb4459c9
MD5 ac9d77e991883006351ebb02d2963f3d
BLAKE2b-256 10b437d667b7aed51838250933dbc478f30810d91a909683816c6d390e6113b0

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6f41a044cbfebac2f92377902293a5e45e9445d811f721eb176f5790e6a6fe97
MD5 8865aa0ff3ee012bc5165924b91afe56
BLAKE2b-256 bdea910c97f390c86079042d20ec9bb775588375d464f65f40352dfb00f487e1

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 78086ceb66dcd5001bf1700de4e3b484a97862b398940238e6b3d56c668cbbe4
MD5 460222ab8f6d8d698fe93df139a386c1
BLAKE2b-256 ea2839c0fa67d480b0e78a8a3cbee0724f328d6c77e3dd7a188d91809bca62fe

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 59a422e8888124250e9a1dbf1ec43ea29b640ed0379053724cd5f027b42dbdfa
MD5 9b11640672e3f682103cc72646d45ca5
BLAKE2b-256 8484a2f7352834903c9af1341c2eac3c8de93a072fd2407794c362c87290f523

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a2d5308a6670df533e161d0b7c6e2f03e58b2d8670c3661d144338f8d2153f5b
MD5 dfe8624d1cce92cd4e62998a97621085
BLAKE2b-256 af20b02fd0822559620084bd88ab8b5e6fe2a3a51b85fa9e0f74d6ded91966f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.5.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 78.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for chiabip158-1.5.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2470e45be8e48d902b3adf1be048e2440f13a0d4a2515848bf30e4087d8de51a
MD5 4276ef23251289a16f4cf9a7e22b4bbc
BLAKE2b-256 bad5661876c4cddb591da8aef8e3dcce7ddacd3b9cfe913c6083f6c582f570dc

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 38624f9a99193c44c0c1b88a2ab8b78221092c72a294904a1a596c3cf412f82d
MD5 b6f545a545e5849304fd4859e69612d0
BLAKE2b-256 16719e6ba1bf1d414294a4db35fdc54f1906f8fafb934f10459ad6b9d31a8e7f

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 bec5fcdc258944e6bc73efb478ae873b28f11bb54a3137ddc4f220c3a5733714
MD5 5baf5f68a50a0400051fcc313a5fe8fe
BLAKE2b-256 29e6b0eb60787b8989a98dd4a1bba5a9f9740eedd35d0f2de24b94a2bd5c2199

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp38-cp38-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 a7794c92db245ea3ccdc7579c2ce1191d9a5b24512d9404c724b03009e035403
MD5 0882a61a44d25b0aee498a7e03791780
BLAKE2b-256 70d612ef8611f467264b1acd7aba7025ebcebe33f1391aa6dbd132cd41ca4df2

See more details on using hashes here.

File details

Details for the file chiabip158-1.5.1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chiabip158-1.5.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f6b25950aa04168110729a5949480b3031cc9670b0cc1ac13e7b43d3317e78e
MD5 4a08803baa7524029c06f82640f33db0
BLAKE2b-256 03bd061023ebdfa2a1518252971c9d9ba124c0cf44741b02bfca2a6494b3a2a4

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