Blockhead: ETHSanFrancisco
Blockhead is a highly customizable super-meta-interface for the web3, DeFi, and EVM multichain ecosystems. Now with smart contract lookups and interactivity!
Screenshots






Problem Statement
Blockhead is a super-interface for EVM blockchains, DeFi, and web3 protocols, consisting of a crypto/DeFi/NFT portfolio tracker ("Portfolio"), a cross-EVM block explorer ("Explorer"), and data explorers for DeFi apps and web3 protocols ("Apps"). Built as a data-agnostic, fully client-side web app, Blockhead is tightly integrated with a wide variety of indexing solutions and infrastructure providers across the decentralized web, putting YOU in full control of the data sources that power the views and dashboards. It's a web3-native frontend experience purpose-built for customizability, transparency, redundancy, accessibility, and decentralization!Blockhead started two years ago as a hack for ETHOnline 2020, and I've continued to iterate and integrate new data providers at hackathons ever since.Follow Blockhead on Twitter and Gitcoin Grants:• twitter.com/darryl__yeo• twitter.com/0xBlockhead• gitcoin.co/grants/2966/blockhead
Solution
For ETHSanFrancisco, I added the ability to look up verified smart contract source code, created a generative UI that lets users interact with any smart contract method, and implemented the ability to simulate a transaction using Tenderly's Simulation API.By sponsor:Tenderly: Integrated the Simulation API on the Explorer view.Uniswap: Tested the Smart Contract Interaction UI flow against the UniswapV3Factory.sol contract on Ethereum mainnet (0x1F98431c8aD98523631AE4a59f267346ea31F984).QuickNode: Used QuickNode's RPC endpoint to query the contract code given an EVM address, which is crucial for the frontend to distinguish smart contracts from externally owned addresses.Polygon, Gnosis, Optimism & Evmos: Added the ability to look up verified smart contract source code from Sourcify for each of the listed chains.ApeCoin: Added ApeCoin DAO as a web3 app with a dedicated dashboard.ENS: Implemented an<AddressInput>form field component which can take either a regular address or an ENS name. Used for submitting transactions to smart contract methods that take Solidity "address" parameters.IPFS: Implemented an<IpfsLoader>Svelte component which loads a CID's content from a chosen IPFS gateway. Added the ability to look up verified smart contract source code from Sourcify for several chains; if a Sourcify source code file is hosted on IPFS, it will be tagged with its IPFS CID in the UI.