TXNames transforms ENS names into human-readable, executable Ethereum transactions.
This decentralized application allows users to store, explore, and execute smart contract transactions via ENS text records. Users can assign intuitive names to transactions, making routine interactions with Ethereum contracts seamless and straightforward, without needing to visit each dApp.
For example:
How It Works:
TXNames is built on React, TypeScript, and Vite, with Wagmi and Viem handling Web3 interactions. Interaction with ENS is covered using Wagmi hooks. I repurposed ENS text records as decentralized transaction storage: smart contract function calls are encoded and stored as JSON in ENS resolver contracts using a custom prefix.
To retrieve stored transactions, it decodes event logs instead of reading current state, since ENS resolvers don't expose direct text record queries without specifying the keys. Logs are filtered efficiently via Etherscan's API using topics, then decoded client-side.
For contract discovery, it fetches ABIs from Etherscan and implements multi-protocol proxy detection (checking EIP-1967 storage slots, calling implementation() for Transparent/UUPS proxies, and masterCopy() for Safe contracts) to ensure the real ABI is retrieved even from proxy addresses.
Reown AppKit provides multi-wallet support without custom connection logic. React Query manages caching and state, with debounced inputs to reduce unnecessary API calls. The UI is built with shadcn/ui components for accessibility, consistency, and responsive design.

