A decentralized application built on blockchain technology, providing a fun and secure way for users to participate in a Secret Santa gift exchange using crypto tokens.
Overview: CryptoSecretSanta is a decentralized application (DApp) built on blockchain technology, providing a fun and secure way for users to participate in a Secret Santa gift exchange using crypto tokens. Key Features: User Registration: Users will register with the app using their crypto wallets. Each user's wallet address will serve as their unique identifier in the Secret Santa game. Token Integration: The app will use a specific ERC-20 or ERC-721 token as the "gift" within the Secret Santa exchange. Users need to have a certain amount of tokens to participate, creating a sense of value and commitment. Participation Mechanism: Participants will use the app to enter the Secret Santa game by staking a specific number of tokens. The app will ensure that participants meet the minimum token requirement to maintain fairness. Randomized Gift Assignment: After the participation period ends, the app will randomly assign each participant a gift recipient. Smart contract logic will ensure that participants cannot be assigned to themselves. Gift Claiming: Participants can log in to the app to see the recipient to whom they are assigned. Upon claiming a gift, the assigned tokens will be transferred to the recipient's wallet address. Security Measures: The use of blockchain technology ensures transparency and security. Smart contract logic will be audited to prevent any manipulation of gift assignments. Messaging System: Participants will be able to send anonymous messages to their gift recipients within the app. Event History: A history of past Secret Santa events and their outcomes will be stored on the blockchain for reference.
This application makes use of tableland to store users' quiz scores. This allows to query all scores, top 10 scores, and highest scores to display a leader board so this is a community-driven app.Tableland stores users' NFTs info and scores: - function to store all metadata for an NFT(tx hash, quiz name, quiz id, user wallet, date) - function to store users' scores - function that returns a user scores - function that returns top 10 user scores
Sepolia Network: We deployed our dApp on the Sepolia Network with contract address 0xe1fc2d6bd2e43ea944172ce9469a18193eeb40734c387fed3e519498ebd65d1e for secure, fastest, and unexpensive transactions. We are using this contract to keep track of the user's posted quizzes, successfully answered quizzes, NFT awards, user profiles, and rating systems.
Family Wallet: The "Family Wallet" seamlessly integrates wallets with our platform, facilitating user authentication and enabling seamless interaction with the associated smart contract.
SDK aave protocol-js: we are using the GHO token for loan & staking purposes, leveraging its stability as a token.
This application uses NFTStorage to store metadata for NFTs rewards and metadata quiz information such as quiz description, title, category, level, language, image, author, questions, and options.
ENS: Our application uses ENS to lookup ENS and fetches ENS Avatar and displays an address ENS with a Blockie image and option to copy the address.
We used Solidity for the smart contract.
We used OpenZeppelin ERC720 we use the ERC721 template for faster development of our smart contract.
Hardhat for local blockchain development.
We used Tailwind, MUI, Nextjs, and ReactJS for the frontend, and Ethersjs to connect to the blockchain.