Figuring out and experimenting with NFT utilities.
What it does
Registers *.stellar domains on chain as unique Domain NFTs giving the owner the power to link some arbitrary data to that domain. The data is mostly vague ideas since there aren't any actual resolvers other than the demo client. The demo client can be used to resolve domains, register domains, register subdomains, transfer ownership and show/edit the linked data. One level of subdomains are supported with the ability to have different owners for those.
All main domains expire in one hour from registrations in the demo. After that they can be claimed by anyone for the next hour. The owner can renew the registration freely within this period resetting the timer.
Demo site: https://ambitious-bush-093e8550f.1.azurestaticapps.net/ (Cold start can take a while for the first domain query, after that it should be ok)
How we built it
Some 30 hours of vigorous coding, woke up Sunday morning 6:30 am mid sleep to an idea that needed to go into the demo. Built with node.js and Typescript. Client uses material-ui for UI building blocks. Live demo running on Azure Static Web Apps.
The idea how it should work had been formulating over a couple of weeks. After watching the workshop it all was scrapped and though out from the ground up.
Challenges we ran into
Making a sensible under three minutes video on the topic.
On technical side smart contracts dealing with the domain registration do not scale very well as the registrar account is paying the sequence number for the transactions to prevent overlapping registrations. Storing of the domain name and the handling of the linked data in managed data entries is quite bad, it works with restrictions and for the sake of the demo maybe this is ok.
Accomplishments that we're proud of
It's actually alive with quite nice amount of action given the time it was built in.
What we learned
Some new tricks to make Stellar NFTs.
What's next for Stellar Name Service
Not sure yet, depends on what people will think about the crude demo.
Log in or sign up for Devpost to join the conversation.