Search projects, hackathons, sponsors and tech

    ← All projects

    Demo

    About

    The problem it solves GIVE FOR ALL focuses on two main aspects - Transparency in Charitable Giving - Effective Management by Multiple Contributors GIVE FOR ALL revolutionizes charitable giving by offering a dual-focused approach: transparency in how donations are utilized and efficient management of contributions from various sources. By doing so, it not only simplifies the process of giving but also ensures that the impact of every donation is maximized. Through GIVE FOR ALL, individuals and communities can contribute to positive change with confidence, knowing that their efforts are part of a transparent and effective movement towards a better world. How GIVE FOR ALL Makes a Difference GIVE FOR ALL introduces a groundbreaking approach to charitable giving by addressing these challenges and making the process easier, safer, and more impactful: Transparency in Charitable Giving through Smart Contract Logic Secure Holding: Smart contracts securely hold donated funds until specific conditions are met, ensuring that the money is used properly. Real-time Tracking: Donors can track their donations in real-time, seeing how and when their contributions are being used for charitable activities. Effective Management by Multiple Contributors through Decentralized Autonomous Organization (DAO) Technology Decentralized Decision-making: GIVE FOR ALL employs Decentralized Autonomous Organization (DAO) technology, enabling a network of contributors to collectively make decisions. This reduces bottlenecks and enhances efficiency in managing charitable projects. Collaboration Simplified: Donors, charities, and stakeholders can collaborate seamlessly within the DAO framework. This streamlines coordination, minimizes administrative hurdles, and maximizes the overall impact of charitable initiatives. Enhanced Flexibility: GIVE FOR ALL adapts to different models of charitable projects, allowing contributors to choose the initiatives they are most passionate about supporting.

    How it's made

    Challenges we ran into 1. Smart Contract Code Organization: Initially, we faced an issue where all the code for the smart contract was bundled together. However, we overcame this challenge by dividing the codebase into smaller components, using a parent-contract and child-contract structure. 2. Re-Entrancy Vulnerability: We encountered the notorious Re-Entrancy vulnerability in the smart contract. To address this, we implemented appropriate techniques such as using the "checks-effects-interactions" pattern and employing mutexes to prevent multiple entry points to critical functions. 3. Cross-Origin Resource Sharing (CORS) on Sepolia Network: We implemented a whitelist mechanism that allowed only approved domains to access the contract's resources. 4. Slow Contract Data Retrieval Speed: The speed of retrieving data from the contract was suboptimal. To enhance performance, I introduced a backend written in Golang. This backend facilitated direct querying of the contract, enabling faster data retrieval by bypassing unnecessary steps and minimizing latency. (But we will add this in the future). 5. Front-End ABI Call Issue: The initial few requests to the contract would consistently return null values, leading to data inconsistencies. So, We reviewed the ABI call implementation, ensured proper error handling.