Amplify

Deploy contracts, query with SQL, and visualize data with interactive charts

Amplify

Created At

ETHGlobal Buenos Aires

Winner of

The Graph

The Graph - Best Use of Amp Datasets 1st place

Project Description

This project is an enhanced blockchain data development platform that extends The Graph's Amp beyond a query tool into a full IDE for smart contract development and analytics.

Unlike the original Amp playground that only allows querying predetermined contracts, this platform enables users to dynamically write Solidity contracts in a browser-based editor, deploy them instantly to a local blockchain, and immediately query their events through SQL. The system automatically extracts contract ABIs, builds Amp datasets, and creates SQL tables for every event in real-time.

Beyond basic querying, it includes advanced data visualization tools with multiple chart types (line, bar, pie, area) that automatically plot event variables and query results. The platform features a comprehensive wallet analytics dashboard that tracks transaction history, contract interactions, and activity patterns. The complete IDE-like interface provides a VS Code-style experience with tabbed editors, sidebars, and integrated tooling for contract development.

Users can analyze all event variables, build custom analytics dashboards, monitor wallet activity patterns, and visualize blockchain data through interactive charts, making it perfect for rapid prototyping, data analytics, and production-ready blockchain applications. The platform eliminates the traditional indexing bottleneck by automatically converting smart contract events into queryable SQL tables the moment contracts are deployed, enabling instant data access and real-time analytics.

How it's Made

Backend: Express.js API server with /api/deploy and /api/query endpoints. The deployment pipeline validates Solidity code, generates Foundry scripts dynamically, compiles contracts via execSync, extracts ABIs from artifacts, builds Amp manifests, registers datasets with ampctl, and copies manifests to Amp's watched directory for hot-reloading, enabling new contracts to be queryable without service restarts.

Frontend: React + TypeScript with a custom IDE layout (IDELayout, EditorPanel, InspectorPanel) providing a VS Code-style interface. CodeMirror powers the contract editor. Custom hooks (useWalletMetrics, useWalletActivityTimeline, useContractInteractions) query Amp's anvil.transactions and anvil.logs tables with SQL aggregations for wallet analytics. The GraphsEditor auto-analyzes SQL result schemas to detect numeric/time-series columns and suggests chart types (line, bar, pie, area) using Recharts.

Infrastructure: Docker Compose orchestrates PostgreSQL, Amp server, Anvil, and an Arrow Flight proxy. Vite proxies requests to the Express API (port 3001) and Amp services. Apache Arrow via ConnectRPC enables efficient columnar data transfer for real-time querying. LocalStorage tracks deployment history for seamless contract switching. The stack enables writing Solidity, deploying, and querying via SQL in real-time without manual indexing.

background image mobile

Join the mailing list

Get the latest news and updates

Amplify | ETHGlobal