Search projects, hackathons, sponsors and tech

    ← All projects

    EDU Token

    The platform uses EDU tokens as an incentive mechanism for learning and teaching, utilizing blockchain technology for efficient administration and tracking of educational courses and training program.

    Demo

    About

    The problem it solves The Decentralized Learning Management System (DLMS) tackles centralized control in education, offering diverse learning options. The EDU token system rewards learning, encouraging deeper engagement. Personalized learning paths combat the one-size-fits-all approach, adapting to individual styles. The P2P content marketplace enhances access to quality educational materials. Utilizing blockchain technology for course certificates ensures secure verification of achievements. Transparent tracking of progress is facilitated through blockchain. Educators can monetize content through the platform. Streamlined course management enhances efficiency. Geographical barriers are minimized by the digital platform. A token system links educational achievements to tangible benefits, promoting real-world value. This project strives to create an accessible, personalized, incentivized, and transparent educational ecosystem using blockchain and tokenomics.

    How it's made

    Challenges we ran into 1. Smart Contract Integration Challenge: Integrating Web3.js with React components while maintaining real-time updates of token balances and transactions 2. Database Synchronization Challenge: Keeping MongoDB in sync with blockchain transactions and course completions. Solution: Implemented an event listener system. 3. MetaMask Integration Issues Challenge: Inconsistent behavior with MetaMask connections across different browsers and network changes. 4. Course Content Storage 📚 Challenge: Deciding between on-chain and off-chain storage for course content. Solution: Implemented a hybrid approach: // Hybrid storage solution const storeCourseContent = async (courseId, content) => { // Store metadata on-chain await courseContract.methods.setCourseMetadata( courseId, web3.utils.soliditySha3(content) ).send({ from: userAddress }); // Store actual content in MongoDB await Course.findByIdAndUpdate(courseId, { content: content, contentHash: web3.utils.soliditySha3(content) }); }; 5. Challenge: Securing JWT tokens and preventing unauthorized access to smart contract functions. There were many other challenges like frequent code breakdown and internet issues we faced but encountered them as a team. The bug fixes took a lot of time.