Namespace - Builder Grant Update (Season 5, Cycle 19)

GM Optimists, I’m Cap, the founder of Namespace. I’m writing to report on our progress and show what we’ve done so far.

We received an OP Grant from Season 5, Cycle 19, to scale ENS to OP and enable easy ENS Subname integration for other projects and dapps on OP.

Feedback is appreciated and possibly some devs using and testing our infrastructure for minting and managing Subnames on OP. :ninja:

Namespace intro

In a nutshell, Namespace helps teams and individuals to easily integrate ENS into their dapps, and start issuing .eth names or subnames to their users / community. We build dev tools for developers and a user-friend app (app.namespace.tech) for individual ENS name owners, to easily issue Subnames. Namespace is also one of the 9 official ENS Service Providers taking the lead on partnerships, integrations, and building tools and apps that help streamline ENS adoption!

Proposal Summary

The goal of the project is to enable minting ENS subnames on Optimism with Fault proof verification. This is achieved by utilizing the CCIP protocol, which allows storing ENS subnames and records on L2 chains. The chains are resolved through an offchain gateway application, which verifies the stored data. Furthermore with the introduction of the EVM Gateway by ENS, the data can be stored and verified trustlessly, meaning that the Gateway cannot manipulate the data.

Milestones overview

  1. Integrate CCIP (EVM Gateway) :white_check_mark:
  2. Deploy Minting and Listing contracts on OP :white_check_mark:
    2.1 Testnet :white_check_mark:
    2.2 Mainnet
  3. Audit :yellow_circle:
  4. Write developer documentation for easy integration :yellow_circle:
  5. Integrate new OP Contracts with the Namespace platform :yellow_circle: (only testnet)
  6. Completion, User Testing User adoption + Feedback loop for improvement
  7. Launch the code and initiate OP expansion

Milestone 1

The overview of the architecture that outlines the implementation of the CCIP protocol using the EVM Gateway and fault proofs:

In the CCIP architecture the clients, such as wallets, need to be able to support CCIP, which requires handling the callback response from the resolver contract. For our project, we have implemented the OpVerifierResolver contract using the EVM Verifier from Unruggable by @nxt3d. We have also utilized the gateway library from Unruggable in order to fetch L2 proofs. Once the proofs are passed back to the client, the client will make the callback call back to OpVerifierResolver and get the verified result.

Milestone 2

Use case for listing and minting opsubs.eth subnames on Optimism Sepolia, and resolving subnames on L1 Sepolia.

L1 Contracts deployed on Sepolia

  • OPFaultVerifier (contains the link to the EVM Gateway and helps with constructing the request for storage slots on OP)
  • OpVerfierResolver (the resolver contract which references OPFaultVerifier)

Minting and listing

  • opsubs.eth listed on Optimism Sepolia
  • mysub.opsubs.eth minted on Optimism Sepolia, also setting the address record
  • The resolver updated with the OpVerifierResolver address
  • The address record now resolves to the address set in the second step above, utilizing the CCIP resolution process, which allows the client to call the gateway to fetch the verifiable data from L2.

Milestone 3

We are in the process of hiring an auditing company to audit our implementation for minting subnames on Optimism and Base.

Milestone 4

We have started writing developer documentation for our SDK. The SDK is a TypeScript library built to simplify the integration of ENS Subname registrations into Web3 projects. It provides developers with a simple way to interact with Namespace’s backend APIs and smart contracts.

The primary intention for the SDK is to streamline the ENS integration and Subname issuance on different L2 chains (Base, Optimism, etc.).

You can read more about it on our official Namespace Docs.

Milestone 5

Currently, we are refactoring our backend to create new endpoints just for listing and minting subnames on the Namespace app (app.namespace.tech), configured through the Manager, which will include both our existing L1 subname functionality, as well adding the support for L2 subnames.

Asks

We’d love to have some builders integrate ENS into their dapps and issue Subnames on OP for their users / community.

If interested, please join our Namespace Dev TG group for convenience, assistance, and vibes.

Contact info

Cap: TG or Twitter: @thecaphimself

Namespace

4 Likes

Hey everyone, sending a quick progress report.

Update

Instead of writing big reports, I decided to create a demo to show everything we built. We hit almost all milestones except User Adoption + Feedback loop for improvement.

That’s what we are looking for next: 3 communities interested in issuing ENS subnames on OP and 5 individuals who want to try it and issue subnames to people. Other than that, everything is live and working.

Loom demo: Namespace - OP Builder Grant Update | Loom

Looking for

  • 3 communities that want to issue subnames to their members/users (these can be wallets, games, web3 groups/communities, even warpcast channels).
  • 5 individuals interested in testing this and issuing OP subs to people.

Let me know if you have any questions.

2 Likes

i am interested in assisting you on this as an individual. x: @Ugbuericsam

1 Like

Hey!
I’m interest in with my community Women Biz and as a individual too.

Regards!

1 Like

Sent you a DM. Looking forward to talking!

Btw, we built this for fun – to test OP Subnames implementation with our SDK.

Feel free to mint and test it at https://oppunk.namespace.ninja/.

More info in our X announcement: x.com

1 Like

Recorded a demo for fellow builders interested in using ENS subnames on OP for their games, products, community, etc.

It’s a 10 min setup :slight_smile:

Demo link: DemoTime.eth (OP) | Loom

Announcement link: x.com