Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/monoand6/web3cat
Data visualization for EVM-based blockchains
https://github.com/monoand6/web3cat
Last synced: 3 months ago
JSON representation
Data visualization for EVM-based blockchains
- Host: GitHub
- URL: https://github.com/monoand6/web3cat
- Owner: monoand6
- License: mit
- Created: 2022-09-08T13:22:14.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-31T20:32:17.000Z (over 1 year ago)
- Last Synced: 2024-04-26T17:32:44.172Z (7 months ago)
- Language: Python
- Homepage:
- Size: 21.1 MB
- Stars: 9
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.md
Awesome Lists containing this project
- On-Chain-Investigations-Tools-List - web3cat
README
.. image:: https://readthedocs.org/projects/web3cat/badge/?version=latest
:target: https://web3cat.readthedocs.io/en/latest/?badge=latest
:alt: Documentation StatusWelcome to Web3cat!
===================.. image:: /docs/images/web3cat.png
:width: 180**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 RPCQuick demo
----------
.. image:: /docs/images/web3cat_demo.gifGetting started
---------------1. Install python package
.. code::
pip install web3cat
2. Set up your archive node rpc. The easiest (and also free) way is to use
`Alchemy `_.3. Set initial configuration
.. code::
import os
os.environ['WEB3_PROVIDER_URI'] = 'https://eth-mainnet.g.alchemy.com/v2/'
os.environ['WEB3_CACHE_PATH']="cache.sqlite3"4. (optional for Jupyter) Initialize bokeh for python notebooks
.. code::
from bokeh.io import output_notebook
output_notebook()
5. Run sample visualization
.. code::
from web3cat.view import View
from datetime import datetimev = View(token="DAI", start=datetime(2022, 6, 1), end = datetime(2022, 10, 30)) \
.total_supply() \
.balance(["0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643", "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7"])
v.show().. image:: docs/images/view1.png
6. Get underlying data
.. code::
v.get_data(0).transfers[["date", "block_number", "from", "to", "value"]]
.. image:: docs/images/view_getting_started1.png
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!