...
Uploaded: 1/22/21
Status: Accepted
Overview
What we are planning to create is a marketplace where users can buy and sell FIO Domains. Users will interact with the frontend website to view and place domains up for sale. The frontend will interact with the FIO Escrow Smart Contract to facilitate transactions between users who buy and sell domains.
...
Number of transactions
Functionality
The diagram below displays how the user, the website, the smart contract and the account that owns the smart contract all work together.
...
The last scenario, in green, starts with a different user buying a listing on the website. This second user is denoted as "buyer." The website then communicates with the smart contract in order to transfer ownership of the address to the buyer and transfer the funds used to buy the domain to the seller. The marketplace will take a commission for facilitating this transaction.
MVP
Focus on functionality for domains only
FIO Escrow Smart Contract
New Actions: List (for sale), transfer domain ownership (both to the escrow account and buyer), cancel listing, buy listing, set marketplace configuration,
update marketplace configuration,
Modified Actions: Transfer (fio), burn expired domains (unlist as well)
Escrow contract added to authorization list of BP reward update, BP pool update, and foundation reward update
All prerequisites need to be checked and met on both sides (buyer & seller) before transactions are executed (Atomic transactions)
Website
Users need to be able to have access to buy, sell and cancel listing actions in the smart contract
Pages
Dashboard
My Account
My Domains
My Listings
Active Listings
Sold Listings
Cancelled Listings
Future Ideas
For the front end to facilitate the registering of usernames to domains
Seller being able to edit/adjust the price
Being able to send an offer to the seller
“Willing to sell” designation
Messaging system
Notification system – for expiring domains
Being able to renew a domain upon purchase
Expiring domain page to see all domains that are about to expire
Being able to send and receive FIO
Include functionality for addresses