A Python client for interacting with the Ethereum Beacon Chain API
Ethereum Consensus Specification
Ethereum Consensus Specification Annotated
This implementation also leans on types implemented here
pip install beacon-client-pyfrom beacon_client.api import BeaconChainAPI
client = BeaconChainAPI("http://localhost:5052")
client.get_headers_from_block_id(block_id="head")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:
passRun the docs locally
poetry run mkdocs serveFormatter
poetry run black .Tests
poetry run pytest -vvlinter
poetry run flake8note: requires poetry version 1.2.x or higher