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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 Windows x86

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

Uploaded CPython 3.8

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

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

Uploaded CPython 3.8 macOS 10.14+ x86-64

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

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m Windows x86

chiabip158-0.16-cp37-cp37m-manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.7m

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

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

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

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

chiabip158-0.16-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.16.tar.gz.

File metadata

  • Download URL: chiabip158-0.16.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.48.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.16.tar.gz
Algorithm Hash digest
SHA256 b9e29575c8e50c5af5b541ff2d054796b8e85f1b988b25fd662c5d1aa113cbcb
MD5 c937413083b728c593144723760657ff
BLAKE2b-256 888c8ffc6ec5f1319d4d0190fbc586da016b55b53c9e252334549da8f1264d80

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-0.16-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.48.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.16-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dc1f2d3234d630b7f6aa8514d8ef6e9fe91247cb12dbcfef3628790f73b44b97
MD5 92b2896ce489c2af1ec6e0ed9ad620be
BLAKE2b-256 b06f3a33dcab8af7141630d3a69be78a1efbd6829551662af709d3c192b1838b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-0.16-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.48.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.16-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 98a14c3ddce6de4d5ecc9ec004521141dfa2ca77df494084ce5052877f9fc78e
MD5 35c9549e5446972445a23a50fb04b8f2
BLAKE2b-256 7a1355f53881d4bc8acc4c9bb3e357ad8699e8c8451426d034bbcd86f930d448

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for chiabip158-0.16-cp38-cp38-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4f88c0ab5e958b0840f7335d69144f9d087c0397ab6c552542fd2a2ba8aafcff
MD5 0e8ea6bdc3c1e29c88aeffed8fcd329f
BLAKE2b-256 68ac9383a68324fb12b422e10b313e8251fe6178e8a7dc95f640349c52c1313a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-0.16-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.23.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.16-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4f27709b8df2ddd5aa5670b9719b1d93919e5c8f77519855450ddc9212592611
MD5 abf17431473562041c94e61ac1908c24
BLAKE2b-256 bec173d43cb032cbe33b6b1cfc2b9b9369617a000b2212a1b89392a0b3446ef1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-0.16-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.23.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.16-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 3b600e3fae13179e6ee83ac4fb9a37209c2af9d92bf964b54de3a14552c824b1
MD5 6606b7a5dacf819c10763ea3c7add2f7
BLAKE2b-256 c4f8f2c3c77a6feb244dd109d7c33d0c44568681f89f9d0eb3dda78aa9f5435a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-0.16-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.48.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.16-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d80cbfa559376ab780cc6ed61b25d9c57d2d3f4e22f9e054151eb29f326d5333
MD5 25e53da1dc2d7cf0d44b961438713d46
BLAKE2b-256 e52afa5343c31439a122e29e2849acf170b6f1db63c332b347ba1274b99a2378

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-0.16-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.48.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.16-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 de585c53a603b97f18c65f4819ffce2e8532df90be0d4700bc0d52b24629a360
MD5 563ece71ec49cc951f721e4d7d7d795c
BLAKE2b-256 0b988a6e4cd23aca0f2fdc60136741c7c4254788ade6af6b31f9bc1bc1aa6000

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-0.16-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.48.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.16-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 fab82fc010bbf2daf28d3413a088601ceccbdbdf2f28841416bfab1333abaa32
MD5 32c61af37f53c025020ca8e7ac2dd951
BLAKE2b-256 336f9329d301614be74b7d4d1493a7c17bf1a5d30f605889b1beb16538ee5e53

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-0.16-cp37-cp37m-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.7m
  • 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.48.0 CPython/3.8.2

File hashes

Hashes for chiabip158-0.16-cp37-cp37m-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 71d633aac8c5c031c59a7ae6d9771b81bf4812f4c1352311be46052afe12d12e
MD5 39870c5aff46a3d04f92609533c50a26
BLAKE2b-256 0e0bf43995cee2c6cbeaf3203f507ac00230902087930aed1a1c6a668872be31

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-0.16-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.23.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.16-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 198555b011785734f7928d2111d0d3e3970903366ede38d1530fae96451fce83
MD5 7e219d0791149891aa52a603ccf381c0
BLAKE2b-256 ecd0e4edf3fd984937db65e21f64cb293cfaee96b6212607adc5a5fca41ab43c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-0.16-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.23.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.16-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 e8cc35f0ec5c88e20c440b146155bc62d804d0c3ad8fe18c00295bd174ef8715
MD5 f458cdac8d335fd8f66310f9d7d2ba34
BLAKE2b-256 ea67cab3d21fe71842d4522c174d1ac331ebf3bfc9b35e90f328fb48fa296ca4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiabip158-0.16-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.48.0 CPython/3.7.8

File hashes

Hashes for chiabip158-0.16-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 c3933d6e9264edb517e35a91e90304bb6616413e7220bd2e0e63cef33b46a8d7
MD5 99554250310846790fbe7ce7df63c208
BLAKE2b-256 bb8f17fc7459b2c02951bfe31939e203dbf03945688865bff5017f07077068e0

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