REALTY - Visit Realty
Realty is a proof of concept solution for crypto-based real estate purchase/payments with stablecoins. It builds on the idea of having another option for asset listing, investment, saving and payments in the real-estate ecosystem aside fiat currency.
- NFT and Defi Track
-
Stablecoins can be used for asset payments and listing, current support is only our test coin — TUSDT which you can request for from any team member. Further development of the project for mainstream usage will involve mainnet stablecoins like USDT, DAI etc.
-
NFTs are used for verifying listed assets authenticity on Realty and also as proof of ownership of an asset within Realty.
-
Realty.Demo.Video.mp4
- listProperty : to submit an asset for listing
- approval : this should be done right before listProperty to give allowance to the Realty contract to transfer 0.5 of the stablecoin to Realty as a listing fee.
- minfNFT : to mint an NFT for the submitted property and thereby publiclly listing the asset for viewing and purchase by everyone.
- payForProperty : to pay for a particular property and have it's NFT transferred to you.
- addPropertyToSavingVault : Unable to pay upfront, add listed property to savings vault for instalmental savings.
- Deposit: sends a given amount of token to the contract. Tokens gets accumulated in order to amount to product price.
- Withdrawal: occurs once total savings equals product price. User withdrawals property price into wallet address for property purchase.
- Connect Metamask(on Mumbai testnet)
- Visit Featured Properties from the navbar to see the available assets that have been listed.
- Click
List Property
on the navbar to list asset. - DM us with your address for TUSDT needed to test listing on the dapp.
- Approve realty to list your asset for your price
- Fill the listing form and List your asset
- Mint an NFT for the asset right after you've submitted the asset for listing.
- Check
Featured Properties
to view your publicly listed asset. - Click on Save to buy to add a listing to your savings vault.
- Click deposit, to deposit token amount into user vault.
- Click on withdraw to withdraw all tokens saved on a particular listing.
- Click on remove from vault to remove a listing from your vault, you can only remove a listing from vault after withdrawing all the tokens saved on it.
- Solidity
- Hardhat
- Openzeppelin contracts — ERC721.sol, ERC721URIStorage.sol, IERC20.sol
- JavaScript
- React js.
- Ethers.js
- Polygon (mumbai) chain
- Chakra UI
- IPFS via Web3.Storage
- Spheron
-
Live Site on Spheron: Realty
-
Contract address : Realty on polygon scan
-
Verified Contract : Realty contract on polygon scan
-
Contract address : RealtyVault on polygon scan -Verified Contract : RealtyVault on polygon scan
To run locally :
git clone https://github.com/NestcoinHack/Realty.git
npm install
npm start
or
yarn install
yarn start
To test contract
npx hardhat node
npx hardhat compile
npx hardhat test