Skip to main content

A Python Client for interacting with the Ethereum Beacon Chain API

Project description

beacon-client-py

A Python client for interacting with the Ethereum Beacon Chain API

Beacon Chain API Reference

Ethereum Consensus Specification

Ethereum Consensus Specification Annotated

This implementation also leans on types implemented here

Installation

pip install beacon-client-py

Simple Example

from beacon_client.api import BeaconChainAPI

client = BeaconChainAPI("http://localhost:5052")
client.get_headers_from_block_id(block_id="head")

Streaming Example

for event in client.stream_events(head=True, block=True, attestation=True):
    match event.event:
        case "head":
            print(client.parse_head(event.data))
        case "block":
            print(client.parse_block(event.data))
        case "attestation":
            print(client.parse_attestation(event.data))
        case other:
            pass

Development

Run the docs locally

poetry run mkdocs serve

Formatter

poetry run black .

Tests

poetry run pytest -vv

linter

poetry run flake8

note: requires poetry version 1.2.x or higher

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

beacon_client_py-0.2.0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

beacon_client_py-0.2.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file beacon_client_py-0.2.0.tar.gz.

File metadata

  • Download URL: beacon_client_py-0.2.0.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.11.0 Darwin/21.4.0

File hashes

Hashes for beacon_client_py-0.2.0.tar.gz
Algorithm Hash digest
SHA256 45b2a3c142fb04be3361dc21fa656eb6ae9f93d9578e0077311714215d595f37
MD5 e951331ecc99ab4871a7a2ebb0a56d7e
BLAKE2b-256 d64fff17217b5d0858c0516be6826fcdba670ce7cffb6df1e681e816f6fffae2

See more details on using hashes here.

File details

Details for the file beacon_client_py-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for beacon_client_py-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e81c1d0a59ae61de7c54348e8003ae781006d80bafbe4f4b66bacef6e0a9f0c2
MD5 048f96ea239fbbb60c4c0b4a26d110d1
BLAKE2b-256 58f33c8931be6b318f243856ec82c3850c466b2d384514fee054eb13757f4a11

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