Skip to main content

Ergonomic python tooling for web3

Project description

Ethereal logo

Ethereal

docs

Ethereal is a lightweight wrapper around the Web3 class that simplifies working with Ethereum smart contracts.

To use it, simply create a regular Web3 instance and write w3 = Ethereal(w3). Then, you can use w3 as usual, but with additional methods accessible under the e property.

For example, you can call w3.e.get_abi("0x...") or w3.e.list_events("0x...", "Mint", "2023-01-01", "2023-02-14").

For more available methods, please refer to the EtherealFacade class.

Demo

Ethereal demo

Example

from web3.auto import w3
from ethereal import Ethereal
from ethereal import load_provider_from_uri

# If WEB3_PROVIDER_URI env is not set, uncomment the lines below
# w3 = Web3(load_provider_from_uri("https://alchemy.com/..."))

w3 = Ethereal(w3)

ADDRESS = "0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0B"
print(w3.e.list_events(ADDRESS))
# Lists event signatures for the contract at ADDRESS

events = w3.e.get_events(ADDRESS, "Transfer", "2023-01-01", "2023-02-14")
# Gets all Transfer events for the contract at ADDRESS between 2023-01-01 and 2023-02-14
print(events[:10])

Install

pip install ethereal

Supported networks

  • Ethereum
  • Polygon
  • Avalanche
  • Fantom
  • Arbitrum
  • Optimism

Contributing

Feel free to create feature requests or pull requests :D

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

ethereal-0.1.9.tar.gz (12.0 kB view hashes)

Uploaded Source

Built Distribution

ethereal-0.1.9-py3-none-any.whl (14.4 kB view hashes)

Uploaded Python 3

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