Generic Custom NFT Subdomain Controller

Hi I’m hodl.pcc.eth (Sam). I’m a web3 dev, experienced with solidity and completed a number of ENS related integrations over the past 12 months. Below is a proposal of a ENS custom dapp that me and a friend will be starting working on soon.



Proposal

My proposal is to write a custom ENS controller / resolver that NFT projects can use to link NFTs in their collection to subdomains. Included in this proposal is a generic UI to enable configuration and claiming of the subdomains.

I have previously written a custom resolver for the .pcc.eth ENS domain. Which allows holders of Purrnelope’s Country Club NFTs to claim a subdomain to link to an NFT. We currently have over 800 .pcc.eth subdomains registered.

You can read more about the .pcc.eth ENS contract here

The new contract that I’m proposing would have the same functionality however it would be generic and allow any ENS domain / ERC-721 NFT contract combination to be used.

There are a lot of NFT contracts that contacted me and asked about linking subdomains in the same way that .pcc.eth have done. Despite the code being open source under a MIT licence, communities utilising this would require custom UI and a contract deployment so there is a large barrier to entry.

Benefits

  • There are lots of NFT communities that are looking for this functionality, it will massively increase subdomain usage.
  • Remove any gas costs to set avatar.
  • These subdomains will be “plug and play”. No requirement to change address after ownership transfer of NFT. This logic is dealt with in the contract.
  • More exposure on social media of NFT holders also displaying their subdomains.

Example:

  • Owner of bayc.eth configures controller to our custom controller address through ENS.app
  • Owner of bayc.eth adds the contracts allowed to register subdomains.
    • 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D (BAYC)
    • 0x60E4d786628Fea6478F785A6d7e704777c86a7c6 (MAYC)
    • 0xba30E5F9Bb24caa003E9f2f0497Ad287FDF95623 (BAKC)
  • Holder of an eligible NFT can link a subdomain with custom label to their NFT

Notes:

  • This contract would be generic and work for any ENS top level domain and ERC-721 collection.
  • The claiming process would be free, just require an eligible NFT.
  • Holder of the NFT can remove any linked subdomain
  • The owner of the TLD can originally configure settings:
    • Allowed contracts (generally would only be a single contract)
    • Allow subdomain to be reused (if it is removed)
    • Allow numeric only (only compatible if there is a single contract)
  • The owner of the TLD can transfer to a burn address after setting up the controller / contract if the subdomains are required to be trustless.
  • The avatar record of the subdomain would automatically be set to the NFT that it’s linked to.
  • The ETH address record will directly resolve to the address that is holding the NFT, so if it is transferred then the subdomain will move with it.

Funding Request:

I will be starting work on this concept in August 2022, and anticipate that it will take around 8-10 weeks to complete the contracts and 8-10 weeks to complete the UI. This estimate includes testing and documentation. Me and a UI developer will work together and aim to complete this in October 2022.

Based on the time and effort I would request a payment of $30,000. I also believe this is a very big value add prospect for ENS subdomains.

Development of this project is not dependent on any funding, but I was advised by multiple people to apply as this will bring good value and exposure to the ENS ecosystem.


Please let me know if you have any questions or if you have any comments around the proposal.

11 Likes

Moving this to the Ecosystem WG.

I love the idea of having a generic system for this, what you’ve done with pcc.eth is great. Can you join an upcoming Ecosystem WG meeting to discuss it with the stewards?

4 Likes

Yes, I’d be happy to come on a call to discuss. Just let me know when.

2 Likes

Pinging @Ecosystem_Stewards to make sure they’re aware!

A question:

Will the subdomain bind to the NFT it linked to? And the subdomain will be automatically transferred to the same receiver when we transferred the NFT?

A suggestion:

Maybe your partner (the UI developer guy) could adopt this project: https://thorin.ens.domains/

We have been in touch.

@hodl.esf.eth will be joining us on our next ecosystem call next Monday!

1 Like

Yes, that’s correct. The subdomain will resolve using the ownerOf function of the erc-721 it’s attached to.