Domainbrew

4 mins read
 
December 26, 2023
 
Project Contributers: Harshith Pokala Muni 😎 and Niharika Deshmukh 😳.
 

In this project we are creating a decentralized platform to purchase, sell, and auction the domain names. Unique, small and catchy domain names have high demand in the market. Currently we use a centralized system to buy or sell a DNS. This system is vulnerable to DDOS attacks, centralization makes this system vulnerable as there is a single point of failure. On the top of this system, there are DNS brokers, who sell, lease the domains. But using brokers doesn’t give us ownership and all profit for selling or buying a domain. Thus to overcome this situation, we can introduce a decentralized platform where any user can tokenize, buy and sell the domain to a larger audience. This project will give the users ability to use domains as their liquid assets which they are. We will be tokenizing domain names using ERC721 standards. This application will have two types of users - domain owner and sellers. A domain owner can tokenize his domains, set a price for it and auction it. While a buyer will have the ability to participate in the auctions, direct purchase. All the transactions for domain names will happen on the blockchain network, making the platform more secure and reliable.

02. Issues Addressed

Current web2 domain name system is a two layered system. The core layer is a centralized system, on the top of it there are domain registrars who lease the domains for a certain amount of time. Users cannot have ownership of the domain name in web2. They are highly expensive and prone to security attacks because they are stored in a single place. The charges are high for the web2 domain names. There is a lack of transparency on the history of ownership of the domain names. Moreover, the auction of web2 domain names is limited to very few people, and not everyone can participate. Decentralization of domain names creates decentralized ownership of domain names where the users can control the domain names rather than a central authority. This can help in increasing transparency and security. The costs associated with the conventional system of domain names can be reduced by the use of decentralized domain names.

03. Domain Name Tokenization:

In the initial stage of implementation, the project focuses on representing domain names as digital assets through tokenization, utilizing the ERC721 standard to create unique Non-Fungible Tokens (NFTs) for each domain name. This approach ensures the distinct and secure representation of domain names on the blockchain.

04. Smart Contracts

The core functionality of the system is managed through smart contracts written in Solidity and deployed on the Sepolia network. The key smart contracts include DomainToken, responsible for creating and transferring domain name NFTs; Auction, facilitating domain name auctions; and Ownership, which keeps a comprehensive record of ownership history. These smart contracts govern the essential operations of token creation, transfer, auctioning, and ownership tracking on the blockchain.

05. Frontend(React.js)

For user interaction and accessibility, the frontend is developed using React.js, offering a user-friendly interface. This layer enables crucial functionalities such as user registration and authentication, browsing and searching for domain names, conducting NFT transactions for buying and selling domains, and integrating with MetaMask for viewing NFTs and transaction history securely. The React.js frontend provides a seamless and intuitive experience for users engaging with the blockchain-powered domain tokenization platform.

06. Offchain Data (Express.js, AWS RDS)

Offchain data, including user profiles, domain descriptions, and metadata that do not need to be on-chain, is stored in an AWS RDS relational database. Express.js is employed to create a RESTful API service, establishing a connection between the frontend and the offchain data stored in AWS RDS. This offchain component enhances the overall system by efficiently managing non-critical data off the blockchain, contributing to a more scalable and organized architecture.

07. Deployment

In the final stage, the entire project is deployed to the Heroku platform for web app accessibility, ensuring a smooth and widespread user experience. Simultaneously, the smart contracts are deployed to the Sepolia network, making the blockchain functionalities accessible to users. The integration of MetaMask into the frontend further empowers users to securely track their NFTs and perform blockchain transactions with ease, completing the comprehensive deployment of this domain tokenization project.

niharikad2209@gmail.com