Overview
- Project title: Green Planet Web3 App - A Decentralized Platform for Eco-friendly Incentives and Reward
- Project type: Option 1. Web3 app prototype
- Team name: Doge Squad
- Team members: Ainesh Advani(student), Begench Hangeldiyev(student)
- Mentor: Kunho Kim
Deliverables
Github public repo URL
Web3 app introduction deck URL
Youtube video URL
Summary
It is a web3 app that allows users to submit proof of the environmentally friendly activity they did. This allows the user to further be able to choose environmentally friendly items on our app which are offered at a price cheaper than the market price. Then we inspect whether the user actually did the environmentally friendly activity manually and use the inspector agent in the smart contract to manually verify if they actually did. Once we get the approval from the inspector we let the purchase go through. By doing this we believe that the user gets motivated to do environmentally-friendly activities as they get rewards on our app for it.
Implemented two smart contracts.
GreenPlanet.sol: This is a marketplace contract that enables buying and selling of Non-Fungible Tokens (NFTs). The NFTs are listed by the seller at a certain price. An inspector can approve the inspection of the NFTs. Once the buyer and the seller approve, and the inspection has passed, the NFT is transferred from the seller to the buyer. The contract holds the balance of the payments and transfers it to the seller after a successful transaction. The contract also provides the capability for the seller to list their NFTs and for the buyer to approve a transaction.
GreenToken.sol: This is an NFT contract based on the ERC721 standard and implemented using OpenZeppelin's ERC721URIStorage. This contract allows minting new unique tokens (NFTs) with a unique identifier and a URI pointing to metadata for the token. Each NFT is associated with an owner who is initially the minter of the NFT. This contract also includes a total supply function which returns the total number of NFTs minted by the contract.
The GreenPlanet contract interacts with the GreenToken contract or any other contract that implements the IERC721 interface to transfer ownership of the NFTs. So essentially, the GreenPlanet contract acts as a platform to buy and sell GreenTokens or any other NFTs that comply with the IERC721 standard.