معرفی شرکت ها


eth-bloom-2.0.0


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Python implementation of the Ethereum Trie structure
ویژگی مقدار
سیستم عامل -
نام فایل eth-bloom-2.0.0
نام eth-bloom
نسخه کتابخانه 2.0.0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Piper Merriam
ایمیل نویسنده pipermerriam@gmail.com
آدرس صفحه اصلی https://github.com/ethereum/eth-bloom
آدرس اینترنتی https://pypi.org/project/eth-bloom/
مجوز MIT
# Ethereum Bloom Filter [![Build Status](https://circleci.com/gh/ethereum/eth-bloom.svg?style=shield)](https://circleci.com/gh/ethereum/eth-bloom) [![PyPI version](https://badge.fury.io/py/eth-bloom.svg)](https://badge.fury.io/py/eth-bloom) [![Python versions](https://img.shields.io/pypi/pyversions/eth-bloom.svg)](https://pypi.python.org/pypi/eth-bloom) A python implementation of the bloom filter used by Ethereum. > This library and repository was previously located at https://github.com/pipermerriam/ethereum-bloom. It was transferred to the Ethereum foundation github in November 2017 and renamed to `eth-bloom`. The PyPi package was also renamed from `ethereum-bloom` to `eth-bloom. For more information on what Ethereum Bloom Filters are see [here](what_is_eth-bloom.txt). ## Installation ```shell $ pip install eth-bloom ``` ## Development ```sh pip install -e ".[dev]" ``` ### Running the tests You can run the tests with: ```sh pytest tests ``` Or you can install `tox` to run the full test suite. ### Releasing To release a new version: ```sh make release bump={bumpversion} ``` #### How to bumpversion The version format for this repo is `{major}.{minor}.{patch}` for stable, and `{major}.{minor}.{patch}-{stage}.{devnum}` for unstable (`stage` can be alpha or beta). To issue the next version in line, use bumpversion and specify which part to bump, like `bumpversion minor` or `bumpversion devnum`. If you are in a beta version, `bumpversion stage` will switch to a stable. To issue an unstable version when the current version is stable, specify the new version explicitly, like `bumpversion --new-version 4.0.0-alpha.1 devnum` ## Usage The `BloomFilter` object ```python >>> from eth_bloom import BloomFilter >>> b = BloomFilter() >>> b'a value' in b # check whether a value is present False >>> b.add(b'a value') # add a single value >>> b'a value' in b True >>> int(b) # cast to an integer 3458628712844765018311492773359360516229024449585949240367644166080576879632652362184119765613545163153674691520749911733485693171622325900647078772681584616740134230153806267998022370194756399579977294154062696916779055028045657302214591620589415314367270329881298073237757853875497241510733954508399863880080986777555986663988492288946856978031023631618215522505971170427986911575695114157059398791122395379400594948096 >>> bin(b) # cast to a binary string '0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' ``` You can also add an iterable of items to a bloom filter. ```python >>> b = BloomFilter() >>> b'value-a' in b False >>> b'value-b' in b False >>> b.extend([b'value-a', b'value-b']) >>> b'value-a' in b True >>> b'value-b' in b True ``` You can initialize a bloom filter from an iterable of byte strings. ```python >>> b = BloomFilter.from_iterable([b'value-a', b'value-b']) # initialize from an iterable of values. >>> b'value-a' in b True >>> b'value-b' in b True ``` You can initialize a bloom filter from the integer representation of the bloom bits. ```python >>> b = BloomFilter(3458628712844765018311492773359360516229024449585949240367644166080576879632652362184119765613545163153674691520749911733485693171622325900647078772681584616740134230153806267998022370194756399579977294154062696916779055028045657302214591620589415314367270329881298073237757853875497241510733954508399863880080986777555986663988492288946856978031023631618215522505971170427986911575695114157059398791122395379400594948096) >>> b'a value' in b True ``` You can also merge bloom filters ```python >>> from eth_bloom import BloomFilter >>> b1 = BloomFilter() >>> b2 = BloomFilter() >>> b1.add(b'a') >>> b1.add(b'common') >>> b2.add(b'b') >>> b2.add(b'common') >>> b'a' in b1 True >>> b'b' in b1 False >>> b'common' in b1 True >>> b'a' in b2 False >>> b'b' in b2 True >>> b'common' in b2 True >>> b3 = b1 + b2 # using addition >>> b'a' in b3 True >>> b'b' in b3 True >>> b'common' in b3 True >>> b4 = b1 | b2 # or using bitwise or >>> b'a' in b4 True >>> b'b' in b4 True >>> b'common' in b4 True >>> b1 |= b2 # or using in-place operations (works with += too) >>> b'a' in b1 True >>> b'b' in b1 True >>> b'common' in b1 True ```


نیازمندی

مقدار نام
>=0.4.0 eth-hash[pycryptodome]
- bumpversion
- wheel
- bumpversion
- wheel
- twine
- build
>=6.2.5 pytest
>=3.31.2 hypothesis
>=2.6.0 tox
>=3.8.3 flake8
==0.910 mypy
>=4.2.15 isort
>=22.1.0 black
>=3.8.3 flake8
==0.910 mypy
>=4.2.15 isort
>=22.1.0 black
>=6.2.5 pytest
>=3.31.2 hypothesis
>=2.6.0 tox


زبان مورد نیاز

مقدار نام
>=3.7, <4 Python


نحوه نصب


نصب پکیج whl eth-bloom-2.0.0:

    pip install eth-bloom-2.0.0.whl


نصب پکیج tar.gz eth-bloom-2.0.0:

    pip install eth-bloom-2.0.0.tar.gz