Our idea was to save the membership information in form of a NFT whose contract is created with ERC721 standard using openzepplin. In our project we want the end-users to interact with the rewards in form of ERC20 tokens. For each brands/business we will deploy a Contract which has specific rewards rules pertaining to that brand, such has end-users receive 3% cashback per transaction. In this case for a 100ETH transaction we will send back 3 Reward tokens (PERKS). Each end-user can only have a particular membership and are free to transact with Reward Tokens. We used Polygon TestNet to interact with our deployed contracts.
Tell us about how you built this project; the nitty-gritty details.
1) We took our time in coming up with a problem in real world Web2 application. That lead us to the rewards points which we have experienced in past to be expiring if not used. That led us to the idea of creating a rewards app which will keep track of your membership with a brand via ERC721 Token and the rewards (aka cashback) to users which will be in form for ERC20 Token. The idea was to give end-user a way to give out the rewards points to anyone in need over blockchain and make the most of it. Just how Airlines miles are interchanble with Rewards from Car-Rental companies. We researched our way in learning Solidity and learned how to deploy a smart contract using Hardhar HRE and Moralis. Moralis sponsor was very helpful with easy to learn guides to setup local environment with ease and focus on the problem solving rather than setting up everything locally. We setup the API keys in Polygon Matic layer 2 platform which we used to deploy and test our smart contracts on. Given the membership tokens were ERC721 compliant, we were able to find them on the OpenSea Testnet as well. We did struggle with the Front-end because we were bouncing around with Ether.js and Web3.js but we ended up using public methods on already deployed contract with Hardhat.
What technologies did you use?
Node npm Solidity Hardhat Moralis/Alchemy Polygon Matic Mumbai Metamask Faucets for Matic and Test Eths OpenSea Testnet Etherscan Testnet
How are they pieced together?
Hardhat HRE gave us a way to run and test smart contracts written in Solidity locally, we deployed them using Nodejs scripts on Polygon Testnet for testing and used the smart contracts for keeping track of balance as MVP.
If you used sponsor technology how did it benefit your project?
We used Polygon Matic Mumbai testnet heavily for the deployment of smart contarts and the workflow was very seemless. We used Moralis nodes for setup and testing which saved us a lot of time in figuring lots of things out by ourselves.
Did you do anything particuarly hacky that's notable and worth mentioning?
We wanted to save time and work on the foundation of the smart contracts so we did not interact with the smart contracts from any front-end and kept on testing and interating it with our deployment scripts.
How did you impress yourself which what your team built?
100% yes, we came into this Hackathon without knowledge of any of the technologies mentioned above, we are seasoned web2 developers and we had a great time learning from sponsorers workshops and how relevant sponsorers actually were to our novel project.