Hey everyone,
I wanted to start a discussion about smart contract naming with ENS to in part get feedback on what we’re buildig with Enscribe, but also to get thoughts more generally from the ENS community on this topic.
A Brief Background
Last year I started thinking about why end-users of Ethereum are still being exposed to hex contract addresses when they sign transactions. It seemed crazy that in wallets users will see web3 apps hosted at a domain such as app.ens.domains, but still be interfacing with a hex contract address. It simply doesn’t make any sense.
Using ENS names to name contracts seemed like an obvious solution to this problem.
ENScribe
As I ruminated more on this subject, at Web3 Labs we started working on our own internal document/whitepaper on ways in which we could address this problem, which formed the basis of Enscribe, a service that allows users to deploy smart contracts with ENS names at deploy time thanks to the magic of CREATE2, and name existing contracts.
While the ENS docs are a great starting point for naming contracts, it still requires an investment by developers to understand the process required, and in some cases interacting with contracts on Etherscan, which is suboptimal in our view.
We launched the Enscribe App to provide users with a UI for deploying and naming contracts. Our focus has been on supporting those networks which ENS is deployed on — Ethereum, Base and Linea.
As of this week, we’re not live on the mainnets for these networks, so developers can start naming their existing contracts by heading to Contract Naming in the app.
You can also see some videos of contract naming in action on various mainnets here.
The service supports using your own domain or naming under a subdomain we’ve provided (deployd.eth) so users can do it even if you don’t have an ENS name.
We are looking to integrate with Foundry in the near future too, so there will be automated options coming soon.
The ENS Community
The ENS Community has been very welcoming of the project so far, and we’d love to get any thoughts and feedback from people here which is why I’ve put together this post.
We truly believe in the importance of what we’re doing for the wider Ethereum community and believe ENS is a key component of it. Hence we’re keen to engage with folk here to ensure we can build a valuable service with long-term benefit (and find ways to integrate with other ENS projects).
If you’re interested in our current plans, they are referenced in our SPP2 Application. However, the intent here is to provide an overdue post introducing Enscribe here, and provide an anchor point for discussions on how we can ensure developers name their contracts with ENS!
I would be incredibly grateful for feedback or thoughts on what we’re doing (especially if you try using the service). Additionally, it would be helpful to hear from people as to what do you think we need to do to make contract naming easier and speed up the adoption of ENS for naming contracts in the Ethereum ecosystem.
Thank you