Ethereum RPC client library for Python asyncio (PEP 3156)
Project description
aioethereum
Ethereum RPC client library for the PEP 3156 Python event loop.
Features
ujson support |
Yes |
uvloop support |
Yes |
High-level APIs |
Yes |
HTTP support |
Yes |
Unix domain socket (IPC) support |
Yes |
SSL/TLS support |
Yes |
Tested CPython versions |
|
Tested Geth versions |
|
Implemented RPC apis |
admin, db, debug, eth, miner, net, personal, shh, txpool, web3 |
Documentation
Usage examples
Simple high-level interface (through HTTP):
import asyncio
import aioethereum
loop = asyncio.get_event_loop()
async def go():
client = await aioethereum.create_ethereum_client(
'http://localhost:8545', loop=loop)
val = await client.web3_clientVersion()
print(val)
loop.run_until_complete(go())
# will print like 'Geth/v1.7.0-stable-6c6c7b2a/darwin-amd64/go1.9'
or via IPC
import asyncio
import aioethereum
loop = asyncio.get_event_loop()
async def go():
client = await aioethereum.create_ethereum_client(
'ipc://<path_to_unix_socket>', loop=loop)
val = await client.web3_clientVersion()
print(val)
loop.run_until_complete(go())
# will print like 'Geth/v1.7.0-stable-6c6c7b2a/darwin-amd64/go1.9'
Requirements
License
The aioethereum is offered under MIT license.
0.2.2 (2018-04-10)
Fix bug, related to https://www.python.org/dev/peps/pep-0492/#new-syntax;
Fix port detection for client when only domain;
0.2.1 (2017-10-08)
Add admin and debug management apis;
Add new tests;
Add uvloop support (python 3.5+ required);
0.2.0 (2017-10-05)
Add more docstrings to the code;
Add tests for all rpc methods;
Add admin and debug;
Fix error for unixsocket retring;
Fix unixsocket invalid loop for Python 3.4;
BaseAsyncIOClient._rpc marked as deprecated and will be removed in 0.3.0;
0.1.1 (2017-10-01)
Add sphinx docs;
0.1.0 (2017-09-30)
Initial release;
Ethereum client implemented;
WIP on RPC management.
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
Built Distribution
Hashes for aioethereum-0.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5d434e0f07fe408e7c7a704dd579a2082ff913310a660af6e023225a1d839f4 |
|
MD5 | 274e693ad0b90f2fbb3a183dc08f0b11 |
|
BLAKE2b-256 | 917fbaccd344674d2ea65c3a1759182e698aa08bb231726cf66f0aeeb2beadbe |