Data visualization for EVM-based blockchains
Project description
Welcome to Web3cat!
Meow, fellow researcher!
Web3cat is a framework for fetching and analyzing blockchain data.
Currently, it supports only EVM chains: Ethereum, Polygon, BNB, etc.
Design philosophy
Visualize the data with minimum code
Free for downloading, saving, and analyzing the data however you want
Cache the data to avoid re-fetching anything at all
Fully decentralized, that is, depending only on the blockchain RPC
Quick demo
Getting started
Install python package
pip install web3cat
Set up your archive node rpc. The easiest (and also free) way is to use Alchemy.
Set initial configuration
import os
os.environ['WEB3_PROVIDER_URI'] = 'https://eth-mainnet.g.alchemy.com/v2/<YOUR_ALCHEMY_API_KEY>'
os.environ['WEB3_CACHE_PATH']="cache.sqlite3"
(optional for Jupyter) Initialize bokeh for python notebooks
from bokeh.io import output_notebook
output_notebook()
Run sample visualization
from web3cat.view import View
from datetime import datetime
v = View(token="DAI", start=datetime(2022, 6, 1), end = datetime(2022, 10, 30)) \
.total_supply() \
.balance(["0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643", "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7"])
v.show()
Get underlying data
v.get_data(0).transfers[["date", "block_number", "from", "to", "value"]]
Roadmap
Use framework base layers to add analytics for protocols like Uniswap, Liquity, Aave, Compound, Frax, etc.
Contributing
So far no bureaucracy here, open issues, make pull requests, and have fun!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.