Web3cat is your gateway to unlocking valuable insights from blockchain data. Whether you're a blockchain researcher, developer, or enthusiast, this framework simplifies the process of fetching and analyzing data. Get started with Web3cat today, and meow your way to insightful discoveries in the world of blockchain.

What is Web3cat?

Web3cat is a versatile framework designed for one primary purpose: fetching and analyzing blockchain data. It currently supports Ethereum Virtual Machine (EVM) chains, which include popular networks like Ethereum, Polygon, and Binance Smart Chain (BNB).

Design Philosophy

Web3cat is built on a solid foundation of principles:

Visualize with Minimal Code: 

Complex data analysis should be made simple. With Web3cat, you can visualize blockchain data with minimal coding effort.

Freedom to Analyze:  

Web3cat gives you the freedom to download, save, and analyze blockchain data in any way you see fit. No restrictions, just raw data for your exploration.

Efficient Data Caching: 

To save time and resources, Web3cat intelligently caches data, preventing the need for redundant fetches from the blockchain.

Fully Decentralized: 

Web3cat relies solely on the blockchain's Remote Procedure Call (RPC) interface, ensuring decentralization and independence.

How to Install Web3cat

Getting started with Web3cat is a breeze:

Install the Python Package: 

Use pip to install the Web3cat package.

pip install web3cat

Set up Your Archive Node RPC: You'll need a connection to an archive node. An easy and free way to do this is by using Alchemy.

Configure Initial Settings: 

Initialize Web3cat by setting environment variables for the RPC and cache path. You can do this in your Python script.

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: 

If you're using Jupyter notebooks, you can initialize Bokeh for interactive visualizations.

from bokeh.io import output_notebook
output_notebook()

Run Sample Visualization: 

Start with a sample visualization to get a feel for how Web3cat works.

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()

How Web3cat Works

Web3cat provides a range of features to help you fetch and analyze blockchain data. Here's a glimpse of how it operates:

Fetching Blockchain Data: 

Web3cat can fetch various types of blockchain data, including event logs, transaction data, token balances, and more, from the specified RPC endpoint.

Data Caching: 

To optimize data retrieval, Web3cat intelligently caches fetched data in an SQLite database. This caching mechanism reduces redundant fetches and speeds up subsequent queries.

Data Analysis: 

Web3cat provides tools for data analysis, allowing you to filter, join, and manipulate data to extract meaningful insights.

Follow this links for more information about Web3Cat:

Q1: What chains does Web3cat support?

A1: Web3cat currently supports Ethereum Virtual Machine (EVM) chains, including Ethereum, Polygon, Binance Smart Chain (BNB), and others.

Q2: Can I customize my data analysis with Web3cat?

A2: Absolutely! Web3cat offers the freedom to analyze data in any way you want. You can download, save, and manipulate data to suit your specific analysis needs.

Q3: How does Web3cat handle data caching?

A3: Web3cat uses intelligent data caching, which means it stores fetched data in an SQLite database. This caching mechanism reduces the need to re-fetch data from the blockchain, making your analysis more efficient.

Q4: Is Web3cat fully decentralized?

A4: Yes, Web3cat relies solely on the blockchain's Remote Procedure Call (RPC) interface, making it fully decentralized and independent.