Overview
In this project, I implemented a domain name system with custom TLD extension, DNS records, and ownership verification using dynamically generated NFTs on the blockchain, with the help of this tutorial from buildspace.
Key Features
- Custom TLD registration: Implemented a new custom domain TLD extension (.ninja) that users can purchase.
- NFT-based ownership verification: The ownership of a domain can be verified by the NFT that is generated after successful domain registration.
- DNS record management: A single record can be added to each domain name, which can also be edited later.
Technologies Used
- Blockchain (Polygon Mumbai Testnet): For enhanced security, transparency, record management, ownership verification, etc.
- React and Vite.js: For building the front-end codebase with clean, reusable components.
- Hardhat & Ethers: For efficient smart contract code manipulation & testing.
- Replit: Which is an in-browser IDE, as the code editor.
Challenges and Learnings
One of the biggest challenges with this project was ensuring that the NFT is automatically generated, accurate and accessible. This involved setting up the app to dynamically generate the NFT simultaneously with the purchase of the domain, which is then used to verify the ownership of that particular domain.
Outcome
A blockchain-based DNS aims to revolutionize domain management by prioritizing security and user control. By leveraging blockchain's immutability, it establishes tamper-proof records, mitigating domain hijacking and enhancing trust. Decentralization eliminates single points of failure, bolstering resilience against attacks and censorship. Furthermore, the integration of dynamically generated NFTs for ownership verification streamlines domain transfers, providing transparent and secure ownership.