Hi,
I am part of a team that launched BORED ENS YACHT CLUB (BENSYC) last Friday and wanted to introduce BENSYC into the ENS DAO Forum.
Website : BoredENSYachtClub.eth
Twitter: @BoredENSYC
What is Bored ENS Yacht Club (BENSYC)?
BENSYC is the first ENS 10K subdomain collection where the subdomain NFT is your membership to the club.
What is the Purpose & Vision of BENSYC?
BENSYC’s primary purpose is to provide the ENS community with a light-weight, experimental ENS subdomain project that has sufficient features for the holders to form a sub-DAO within ENS. Upon reaching full functionality, BENSYC sub-DAO will enable the holders to vote as a single delegate within ENS DAO.
In addition to ENS DAO education & voting, BENSYC aims to explore experimental ENS use cases – especially of ENS subdomains, and potentially support the ENS builders through BENSYC grants.
Technical Description of BENSYC
Architecture
BENSYC.sol
Bored ENS Yacht Club (BENSYC) at its core is fractionalised ownership of two domains BoredENSYachtClub.eth
(long name) and BENSYC.eth
(short name). Each domain has been fractionalised into 10000 subdomains with subnode labels (= token ID) from 0
to 9999
. Subdomains with similar labels in both domains are “name-bound”, i.e. ownership of token ID <label>
on long name guarantees ownership of same label on short name.
CCIP
XCCIP.sol
The “name binding” is achieved through a (X)CCIP contract that maps the attributes of the long name to the short name. XCCIP contract also manages the mapping of the Resolver and ensures that all records* set on the long name are automatically mapped gasless-ly to the short name.
Resolver
Resolver.sol
BENSYC features its own custom Resolver that comes with two preset records:
1. Avatar
BENSYC avatars are a set of 9 traits mapped by the properties of the subdomain label. 7 traits have already started minted while 2 are yet to begin minting at the moment of writing.
2. Contenthash
All BENSYC subdomains have contenthash
set which can be accessed through a web2 gateway. In v1, this subpage (= contenthash
) is home to the records set on the subdomain. In future versions, subpages will feature interactive content (with some latency) for the club members to interact over.
*BENSYC team discovered an error in ethers.js library which results in contenthash failing to map from the long name to the short name. Devs have been notified and temporary fix is ready to be deployed shortly