AI + Foundry's cast: how I investigate smart contracts now
I deploy Solidity contracts on HyperEVM. When the chain first launched in early 2025, the tooling around it was rough. The indexers couldn't access historical state. Subgraphs broke when you tried ...

Source: DEV Community
I deploy Solidity contracts on HyperEVM. When the chain first launched in early 2025, the tooling around it was rough. The indexers couldn't access historical state. Subgraphs broke when you tried to query past blocks. The public RPC was rate-limited to 100 requests per minute. Block explorers showed incomplete data or wrong transaction hashes (a known issue where HyperEVM's S3-based block publishing caused hash mismatches with community tools like nanoreth). If I needed to investigate a contract — check its state, trace a transaction, understand what some unverified bytecode was doing — I did it the old way. The old way Write a script. Call eth_getLogs. Decode calldata manually. Piece it together from whatever fragments the broken tooling gave you. Something like this: import { createPublicClient, http, parseAbi } from 'viem'; const client = createPublicClient({ transport: http('https://rpc.hyperliquid.xyz/evm'), }); // Read contract state manually const owner = await client.readContr