zkSync Best Application — HackMoney 2022
2022
ENS Layer 2 Support for zkSync
The first ENS L2 support showcase with zkSync—record updates had roughly 130× lower gas fees and confirmed faster than on L1.
- Ethereum
- EIP-3668
- zkSync
- ENS
- Solidity
Together with 7cc.
We were looking for ideas for HackMoney 2022. I had recently read about EIP-3668 and thought ENS on L2 would be worth trying. It also fit what we were doing with peeps online.
This was my first deep dive into smart contracts. I got hands-on with Ethereum and zkSync contracts, and started getting familiar with L2s, zero knowledge, gateways, and decentralized storage.
How it worked
The implementation had three parts: an L1 resolver on Ethereum, a Node.js gateway running on GCP, and two contracts on zkSync. L2ENSRegistry held ownership, resolver settings, and permissions. L2PublicResolver held records such as addresses, text, and content hashes. Updates were written directly to those L2 contracts, which was where the lower fees and faster transactions came from.
EIP-3668 handled the read path. When a wallet queried the L1 resolver, it received an OffchainLookup instruction. The wallet called the gateway, which read the record from zkSync and signed the response. The wallet then sent that response to resolveWithProof on Ethereum, where the contract checked the authorized signer and expiry before returning the record.
One lookup · 3n4.pps.eth
Outcome
We directly measured roughly 130× lower gas fees for updating records on zkSync than on L1, and the transactions confirmed faster too. The project won the zkSync Best Application prize at HackMoney 2022. The resolver was then used by peeps online.



















