Submission
PROJECT NAME
Attenzione!
DESCRIPTION OF THE PROJECT (2 lines)
Attenzione! is a decentralized crime reporting system for the Rome Metro, utilizing Ethereum, ENS, and IPFS for transparency. It features a 3D WebGL map where terrain elevation reflects real-time crime density at 73 stations.
TELEGRAM USER NAME tg: agustinschiariti
REPOSITORY WITH THE PROJECT'S CODE
https://github.com/Podima2/Attenzione
VIDEO DEMO (3 min max)
https://docs.google.com/document/d/1GRAshc-JYw0byugC7nuuGmIKeRR4dlgzKoGR9pvIRbw/edit?usp=sharing
The contract address(es)
MockENSRegistry.sol:
https://sepolia.basescan.org/address/0x5598B498635fE55Faaeb9AAc998446ca1B8e08ab
CrimeRegistry.sol
https://sepolia.basescan.org/address/0x41a479d7a8B0E8fEA445d0e454FD614F191Be997
StationFactory.sol
https://sepolia.basescan.org/address/0x554dDA89A51510612c4169221E70c338EB9F9549
Bounties
ENS
How ENS Works in Attenzione
Each of Rome's 73 metro stations gets its own smart contract with a human-readable ENS address like termini.rome.crimenoviz.eth instead of a cryptic 0x5FbDB... address. When users click on a station to view reports, the frontend resolves the ENS name to find the contract address, fetches the report data, and displays it. The StationFactory contract automatically registers these ENS subdomains during deployment, creating a clean namespace that mirrors the real-world metro structure.
Why I Chose ENS
Without ENS, sharing station data would mean copying incomprehensible addresses that users can't verify or remember. ENS names make the platform accessible to non-technical users—you can tell someone "check termini.rome.crimenoviz.eth" and they'll actually remember it. More importantly, ENS is censorship-resistant: no authority can seize our namespace like they could with traditional DNS. It also future-proofs the platform—if we upgrade contracts, we just update the ENS record and all links still work. For a public safety tool meant to serve citizens, having addresses people can actually use and trust was non-negotiable.
BuidlGuidl
How Scaffold-ETH 2 Powers Attenzione
Scaffold-ETH 2 provided the complete development framework that got us from idea to deployment in days instead of weeks. It came pre-configured with Hardhat for smart contract development, Next.js for the frontend, and The Graph for blockchain indexing—all working together out of the box. The custom React hooks like useScaffoldWriteContract and useScaffoldReadContract eliminated hundreds of lines of boilerplate, letting us focus on building the crime reporting logic and 3D visualization instead of wrestling with web3 plumbing. The local development environment with built-in blockchain and graph node made iteration fast and debugging straightforward.
Why Scaffold-ETH 2 Was Essential
Building a full-stack Web3 app from scratch means configuring dozens of tools, writing type definitions for contract ABIs, managing deployment scripts across networks, and connecting frontend state to blockchain data. Scaffold-ETH 2 solved all of this instantly. When we needed to deploy 73 station contracts and register their ENS names, the framework's deployment system and auto-generated TypeScript types caught bugs before they hit the blockchain. The pre-built wallet connection, network switching, and transaction handling meant we spent zero time on Web3 UX basics. For a hackathon where every hour counts, having a battle-tested foundation from BuidlGuidl let us build something ambitious—a 3D metro visualization with real-time crime data—instead of getting stuck on infrastructure setup.