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

Uploaded Source

Built Distributions

chiabip158-1.3-cp311-cp311-win_amd64.whl (80.1 kB view details)

Uploaded CPython 3.11 Windows x86-64

chiabip158-1.3-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.3-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.3-cp311-cp311-macosx_11_0_arm64.whl (151.5 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

chiabip158-1.3-cp311-cp311-macosx_10_14_x86_64.whl (157.4 kB view details)

Uploaded CPython 3.11 macOS 10.14+ x86-64

chiabip158-1.3-cp310-cp310-win_amd64.whl (79.1 kB view details)

Uploaded CPython 3.10 Windows x86-64

chiabip158-1.3-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.3-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.3-cp310-cp310-macosx_11_0_arm64.whl (150.1 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

chiabip158-1.3-cp310-cp310-macosx_10_14_x86_64.whl (155.9 kB view details)

Uploaded CPython 3.10 macOS 10.14+ x86-64

chiabip158-1.3-cp39-cp39-win_amd64.whl (79.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

chiabip158-1.3-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.3-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.3-cp39-cp39-macosx_11_0_arm64.whl (150.3 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

chiabip158-1.3-cp39-cp39-macosx_10_14_x86_64.whl (156.1 kB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

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

Uploaded CPython 3.8 Windows x86-64

chiabip158-1.3-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.3-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.3-cp38-cp38-macosx_11_0_arm64.whl (150.0 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

chiabip158-1.3-cp38-cp38-macosx_10_14_x86_64.whl (155.8 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: chiabip158-1.3.tar.gz
  • Upload date:
  • Size: 117.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for chiabip158-1.3.tar.gz
Algorithm Hash digest
SHA256 1d481855543bc9cd97ddf7e757b98265ffa81541e5ff6f4c6f89fdd5d449ee07
MD5 ec46e592c83f679ee8803d0caa06e50f
BLAKE2b-256 ee7612526ee316530665a35901332246f5c39d8d57a22169a161d95a79d96edc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 80.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for chiabip158-1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 58c1b23e88101852c37a069f773ccac0aa0ea0d394f747cacf1b13b82e107b2e
MD5 7681d58fbf0d964edacd86367518d908
BLAKE2b-256 c7e74d8ec526e1b9c61fe8849b15d69de10416491ce8a7dc562628f60e16ad1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 06ec1f33158740eac4b689fc5af71c6aeb3e044e3bad2ac9c181c0b7328b5670
MD5 f4be71345433e1b07a4daf5488ec1a55
BLAKE2b-256 5fae57833a74d4c4f348eb9578c8f14d8e0cbe1cdae40a0765f8586cd0d07252

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ca9e54e5ed9c5ef124aacc0d86760213f915e0ecde845a5f1b7612e876997495
MD5 1117df277f2988405e7c1d00a610c5ff
BLAKE2b-256 cbcb25af083dfc36bb314a3a0aa14a9fa247348b1edd2778e5fb9b76fcafefec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 483c57f796f1eb81ec9ed11a4105a5e7129f008807b1a742849b1ec35fa1f78e
MD5 3c98cfdd5f995b197a30975b48a8d9e8
BLAKE2b-256 f2744e3b3f56c06e96c7eb108948446d45320c5bc704c20498a8a7632aa77cc5

See more details on using hashes here.

File details

Details for the file chiabip158-1.3-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for chiabip158-1.3-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 1309bd03a5a86cf5a40981b76114ce04e58945a2157992a9e7589a0b1b8be473
MD5 38c476a89b44e8c0c58998ca5eea4a4d
BLAKE2b-256 3ce6883964fe692a86eb6046e5b107fafa6a22ffee3c6b9fed8d57c6cc2d0c00

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 79.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for chiabip158-1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a305c1f9a2be03ed97168315e3f940731c671d9ed543564c871be3cca9f17d5e
MD5 667db90e8809e28a4532d07aa74064b9
BLAKE2b-256 33cd53c410d0ca9d1d8a67145d4ab41b35fc63673c79651e07b77384ecc63c49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1a267df7dd204db532d3e25f9252325cf1c2ea33c00f42d5aff06bdf5f711423
MD5 64d8c9376b9f477db63e292bda146454
BLAKE2b-256 81c28fa641acfcfc8c78f3aadfe1a80a2b98aed7122c29cf9ae05b61e628989a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e18bf800fd322e7fdb96886d31c5dcb1aa287568f2937ea3e210c6df41d6ee39
MD5 81feaf3356320f43b3f67ff136cb12d4
BLAKE2b-256 5d1b4ab5163018dc24b7680ef84c79f6e9c2b14edc03219c456be9107b9f0b3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9522217bf49047e480658749c5d114e43df4b1f01bcb614e635be253d4e148e3
MD5 6b97c49eb1f6d4a99928f78c8a95d46a
BLAKE2b-256 06af8cafc7c3479a01a05471268a5b0b66009d23cf1588995be308b5c7fdc5d7

See more details on using hashes here.

File details

Details for the file chiabip158-1.3-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for chiabip158-1.3-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 094761298b23c34719e69227472b6fd84c0fcd636065e2ceac5da93a77eed95d
MD5 8b319710f9d6a9dad943e98a8574d06b
BLAKE2b-256 4dee5b23bccfa22de0500ff7a2e7a86cda02e6e78f32082f8b3563108db6edb6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 79.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for chiabip158-1.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4c0ca115db302b3772d1c052c519b003e19b45c8127e4f2084534bb97dabbefa
MD5 e1a0e3575c83117c4f85ae14ace066bd
BLAKE2b-256 f24969ff40f7e061d2024292b236c6992147f7bf6800e355a417abd506294db6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d6a5c50289cf1e152b0ab41b5385ccb522fff7bcf6b69a378a103323bbb0091b
MD5 15532402deb696c4019e3c16fd066d7e
BLAKE2b-256 7c68d320c3a24f4f0a954eac73d91d53ee9f3d4dd32b141d699d2380c308917c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b758dd93286f4a312b01fe2b567f21c871055b4ab77bb7a9f5989b6602cef1a1
MD5 dd94c323c8afd392a283e558247ed00e
BLAKE2b-256 e55fa40411c53cf2bb939587cf8178093d98c8ab84fb718886ee5c53aa6d02b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 14cffed0876cb123ed9045ba877cf5e68e2e25d913465aa0f3f84f5b96338148
MD5 d367df2735188ada4b9259b498593ffd
BLAKE2b-256 8ef0f43fdcab948f99a3112e5004a3fbeb68cf95b920aa9b4800993cd51caa21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 3e379344144bc7c93d8671534439f5a49b40d16872797bec35275fbd78db1a92
MD5 c5ec3e538d512ed53f2059419198bfee
BLAKE2b-256 9e9e55948b296a3c96d58d5958f418e6ae1329b407796f52fb8ae2cb03ec2681

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-1.3-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/4.0.2 CPython/3.11.5

File hashes

Hashes for chiabip158-1.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 830717c98a4abdf2a0dff22e76784e206995f59e8f3fba25a01bfc48d84ef83c
MD5 3bbc5a3d11a41067680202db0b9529f8
BLAKE2b-256 8ebc4b62e13214acf0f5a39a2443ab7ca89df550245a7fd30afb5b2d3236d89a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b8aecda8b74d5cf1a45714feac4baa8132f22f5006b613f11418c05415023d72
MD5 e3c75ad4ac1dd4bf2f015c6569fab31e
BLAKE2b-256 ba70143427dcda8bc4392777b0017a5507fda9fe45ad87c4be97f357e6cad5c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 faae797b87a4262817d5604eefda8924893335f66311a0bf705e9a2f191dcdb5
MD5 fd703d87d243c7d3b807810a70a6976e
BLAKE2b-256 ecd40219d01654288bed8e5bdc9d10302839620e1a5bc6302d092000ccdc3e8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52f922751428f7e9354f3da97e60b0c7f64a3bb4903f22d6cf6c4bacb7a22cf2
MD5 efe4b94afede172fd6839b07f6236416
BLAKE2b-256 ce0076fd4ba82123c175ff9a62149a1185a39724fdca22f4019c13cca8f3af34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chiabip158-1.3-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 c0b62be473a34af98dc837a130413ebc4e2842c8010c03a94b280a41aa624952
MD5 ab99753c12f1da9e4976841a54185620
BLAKE2b-256 f539a72f3f42bb24237f75b8f651bc84a55d861aaf702d5159390f863423da7c

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