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