معرفی شرکت ها


eth2-0.0.5


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

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

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

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

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

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

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

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

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

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

مشاهده بیشتر

توضیحات

Eth2 API
ویژگی مقدار
سیستم عامل -
نام فایل eth2-0.0.5
نام eth2
نسخه کتابخانه 0.0.5
نگهدارنده []
ایمیل نگهدارنده []
نویسنده protolambda
ایمیل نویسنده proto+pip@protolambda.com
آدرس صفحه اصلی https://github.com/protolambda/eth2.py
آدرس اینترنتی https://pypi.org/project/eth2/
مجوز MIT
.. image:: https://raw.githubusercontent.com/protolambda/eth2.py/master/docs/_static/logo.png :width: 100 px ``eth2`` ----------------- .. image:: https://img.shields.io/pypi/l/eth2.svg :target: https://pypi.python.org/pypi/eth2 .. image:: https://img.shields.io/pypi/pyversions/eth2.svg :target: https://pypi.python.org/pypi/eth2 .. image:: https://img.shields.io/pypi/status/eth2.svg :target: https://pypi.python.org/pypi/eth2 .. image:: https://img.shields.io/pypi/implementation/eth2.svg :target: https://pypi.python.org/pypi/eth2 .. image:: https://github.com/protolambda/eth2.py/workflows/Eth2%20API%20Python%20CI/badge.svg :target: https://github.com/protolambda/eth2.py/actions **Eth2.py**: Python API interface to the `Eth2.0 API <https://github.com/ethereum/eth2.0-apis>`_. If you are looking for the Eth2 spec, see ``eth2spec`` on `PyPi <https://pypi.org/project/eth2spec/>`_ and `GitHub <https://github.com/ethereum/eth2.0-specs>`_. Features --------- - Uses the excellent `httpx <https://www.python-httpx.org/>`_ library, with `support <https://www.python-httpx.org/async/>`_ for `Trio <https://github.com/python-trio/trio>`_ and `AsyncIO <https://docs.python.org/3/library/asyncio.html>`_ async runtimes. - Full type annotations, type hints for every API method - Compatible with the ``eth2spec`` package types and ``remerkleable`` for SSZ. - Through the ``eth2spec`` package, Beacon types can be configured, to use the API for testnets or other Eth2 variants. - Extensive use of Python 3.8 ``Protocol`` typing (`PEP 544 <https://www.python.org/dev/peps/pep-0544/>`_). Testing has your code has never been easier, just mock the object, type-safe!. - Easy extension and definition of API routes. The API function signatures and object types are all you need. Example -------- Getting started ^^^^^^^^^^^^^^^^^ .. code-block:: python import trio from eth2.models import lighthouse from eth2.core import ContentType from eth2.providers.http import Eth2HttpClient, Eth2HttpOptions async def start(): # Customize this to use your Beacon endpoint address = 'http://localhost:4000' # Optionally bring in your own HTTP client # async with httpx.AsyncClient() as client: # prov = Eth2HttpProvider(client, options=Eth2HttpOptions(api_base_url=address)) async with Eth2HttpClient(options=Eth2HttpOptions( api_base_url=address, default_req_type=ContentType.json, default_resp_type=ContentType.ssz)) as prov: # The provider can be extended with any API model. await fun(prov.extended_api(lighthouse.Eth2API)) print("done!") trio.run(start) Using the API model ^^^^^^^^^^^^^^^^^^^^^ .. code-block:: python from eth2.models.lighthouse import Eth2API async def fun(api: Eth2API): print("fetching state!") data = await api.beacon.state(slot=spec.Slot(1)) print(data.beacon_state.eth1_data) # Much faster than retrieving full state! head = await api.beacon.head() print(f"finalized: {head.finalized_block_root.hex()} {head.finalized_slot}") enr = await api.network.enr() print(enr) # Will error, the slashing is invalid, two equal headers (and no signatures ofc) await api.beacon.post_proposer_slashing(spec.ProposerSlashing()) Advanced API calls ^^^^^^^^^^^^^^^^^^^^ When you need to tweak individual API call settings .. code-block:: python from eth2.core import ContentType, APIEndpointFn from eth2.models.lighthouse import Eth2API, APIState async def advanced(api: Eth2API): # Make a copy of the callable function, to then change its settings fn = APIEndpointFn(api.beacon.state) fn.resp_type = ContentType.json # Instead of default ssz, because why not # The most inefficient way to retrieve finalized checkpoint. # Full state, as json. # But hey, access any data, and process with the spec as you like. data: APIState = await fn(slot=spec.Slot(300)) print(data.beacon_state.finalized_checkpoint) Defining custom models ^^^^^^^^^^^^^^^^^^^^^^^^ The HTTP provider can "learn" how to use a model of routes, on the fly! No need to hardcode any API calls. Just define the model as a Pytho 3.8 Protocol. The Eth2 API provider will shadow this model with an implementation. - Any ``Protocol`` class with annotations can be interpreted as route model. Fields are sub-routes. - ``api()`` decorator to make function calls usable endpoints. Customize endpoint options if you need. - ``var_path()`` decorator to make function calls construct dynamic paths Currently the Lighthouse API model is well supported, and the new standard-API is being experimented with, but incomplete. Project Links -------------- - Docs: https://eth2py.readthedocs.io/ - Changelog: https://eth2py.readthedocs.io/en/latest/changelog.html - PyPI: https://pypi.python.org/pypi/eth2 - Issues: https://github.com/protolambda/eth2.py/issues Contact -------- Author: `@protolambda <https://github.com/protolambda>`_ License -------- MIT, see `LICENSE <./LICENSE>`_ file.


نیازمندی

مقدار نام
>=0.1.16 remerkleable
>=0.12.1 eth2spec
<0.16.0,>=0.15.0 trio
<0.13.0,>=0.12.1 httpx
- sphinx
- sphinx-autodoc-typehints
- pallets-sphinx-themes
- sphinx-issues
- flake8
- pytest


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

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


نحوه نصب


نصب پکیج whl eth2-0.0.5:

    pip install eth2-0.0.5.whl


نصب پکیج tar.gz eth2-0.0.5:

    pip install eth2-0.0.5.tar.gz