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
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
Release history Release notifications | RSS feed
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 hashes)
Built Distribution
Close
Hashes for beacon_client_py-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e81c1d0a59ae61de7c54348e8003ae781006d80bafbe4f4b66bacef6e0a9f0c2 |
|
MD5 | 048f96ea239fbbb60c4c0b4a26d110d1 |
|
BLAKE2b-256 | 58f33c8931be6b318f243856ec82c3850c466b2d384514fee054eb13757f4a11 |