A Small Introduction...
Team DEV-ils👺
Hey there! We're the DEV-ils 😈, a duo of passionate coders and creative thinkers ready to tackle the BUILDWITHDELHI Hackathon. Just like our name suggests, we’re not afraid to dive into challenges headfirst and come up with clever 🤔, out-of-the-box solutions. We love late-night coding sessions, the thrill of debugging 🐛 , and the satisfaction of seeing our ideas come to life. With a mix of determination, creativity, and a bit of mischief, we're here to make a mark and have a blast while doing it. Let’s bring some devilish energy to this hackathon and create something amazing together! 💥
The Members✨
Meet Bhavit, The Frontend Wizard🧙♂️:
Bhavit is an expert frontend developer with a keen eye for design and a knack for creating seamless user experiences. Proficient in Web Design and Next.js, he can turn the most complex requirements into elegant, intuitive interfaces. Whether he’s fetching data with useEffect, or managing state with useState, Bhavit’s skills ensure our interfaces are both functional and beautiful. His creativity and precision bring magic to every project.
Meet Akshat, The Blockchain and Security Sage🛡️: Akshat is our blockchain and cybersecurity guru, a master of ensuring our applications are as secure as they are innovative. With a deep understanding of blockchain technology and a virtuoso's skill with APIs, he builds robust and scalable backend systems that can handle anything thrown their way. Akshat’s expertise ensures our projects are not only cutting-edge but also rock-solid and secure.
Together, Bhavit and Akshat form the perfect pair. Bhavit’s frontend magic seamlessly blends with Akshat’s backend brilliance, creating a harmonious balance that drives our projects to success. 💥
Endless Hive-Nighters👾
The Journey🚶♂️
We were on a Discord call, just chilling and discussing tech with a couple of games 🎮, we suddenly stumbled upon this amazing hackathon happening in Greater Noida, namely BUILDWITHDELHI. We saw the amazing opportunities this hackathon provided, and instantly enrolled in the hack.
On the website of the hack, we were surprised to find that this hackathon had a Hive Track! 🤩 This felt like a cherry on top, such an amazing hackathon, with a separate track that focuses on decentralized apps and blockchain! ✨
Having worked with Hive before, where we started with Keychain Auth but couldn't manage to complete the decentralized transactions within the time constraints of the hackathon, we decided to finish what we started, and make a full-fledged working dApp on Hive. 😻
The Project - sprout™
Both of us were really enthusiastic about this hackathon, so we started brainstorming about different ideas and problems we could solve, and we stumbled upon this problem:
Problem Statement
In today's world, there is a significant need for sustainable development to combat climate change and reduce carbon footprints. However, individuals and groups with innovative sustainable project ideas often face challenges in obtaining the necessary funding and support to bring their projects to life. How can we create a platform that bridges the gap between sustainable project innovators and potential funders, ensuring seamless collaboration and support for environmental initiatives?
Why this Problem Statement?
We chose this problem statement because it embodies our commitment to sustainability and social responsibility. By focusing on empowering individuals with innovative sustainable project ideas, we aim to foster a community-driven approach to tackling climate change. Leveraging decentralized technology like blockchain not only enables transparent and efficient funding mechanisms but also aligns with our values of inclusivity and collaboration.
Solution
Introducing sprout™, the groundbreaking decentralized platform that leverages the Hive blockchain to enable a comprehensive solution to the problem.
A dApp for people with such sustainable project ideas to post about their projects on Hive, and obtain the necessary funding for paying the bills, by connecting with Industrialists and Business Owners who wish to reduce their Carbon Footprint.
Planning out the details 🤔
We spent a lot of time brainstorming 🧠 out the details we want to include in the project, and laid down proper plans of action on a piece of paper🖋️.
Under the soil- roots and backend 🌱
Our Tech Stack 📦
A Deep Dive into the Working of sprout™
1. Roots:
Block Streaming: Roots continuously monitors the Hive blockchain for new blocks.Custom JSON Transaction Detection: As each block streams in, Roots parses the transactions within it. It specifically searches for transactions containing valid custom JSON data relevant to the Sprout application.
Data Storage and Synchronization: When a matching transaction is found, Roots extracts the relevant data and inserts it into the MongoDB database. This ensures efficient data retrieval for the frontend.
Startup Synchronization: Upon startup, Roots retrieves the last block it previously processed. It then scans the blockchain from that point onwards, ensuring all relevant data is captured and stored in MongoDB.
2. Frontend-Backend Communication:
API Calls: The frontend utilizes an API built with Next.js to interact with Roots. This API serves as a bridge, allowing the frontend to request data from the MongoDB database.
3. Data Visualization and User Interaction:
Data Fetching: The frontend makes calls through the Next.js API to fetch the processed data stored in MongoDB.Data Presentation: The fetched data is then presented in a user-friendly format within the Sprout application.
4. User Transactions:
Direct Posting: When a user initiates an action within the Sprout frontend that requires a blockchain transaction (e.g., posting data), the frontend doesn't call any APIs. Instead it submits a transaction directly to the Hive Blockchain.Hive Keychain Integration: The frontend interacts directly with the user's Hive wallet through the Hive Keychain library. This allows users to securely sign and broadcast transactions directly onto the Hive blockchain.
Challenges Faced
Node Configuration: Setting up and optimizing a reliable node on the Hive blockchain requires specific configurations.
Solution: We conducted thorough research and testing to find a node with reasonable ratelimits so that Roots could run smoothly on the Hive network.
Security and Data Integrity: Maintaining secure data storage and transactions on a decentralized network is paramount.
Solution: We implemented robust security measures within Roots to protect user data and transactions.
Scalability and Performance: The inherent slowness of searching through the entire Hive blockchain on the frontend posed a challenge.
Solution: To address this, we created a MongoDB cache layer on top of the blockchain. This cache layer stores frequently accessed data, significantly improving search speeds and responsiveness for the frontend.
Testing on the Mainnet: Directly testing on the Hive mainnet can be risky and resource-intensive.
Solution: We mitigated this challenge by deploying a local version of the Hive blockchain testnet for efficient and safe testing of Roots functionalities.
Data Consistency: Ensuring seamless data flow between the frontend and Roots was crucial.
Solution: We established clear communication protocols, using a REST API to guarantee data consistency across both components.
Limited UI Component Libraries: Unlike mainstream blockchains, Hive has a smaller developer community, resulting in fewer pre-built UI component libraries.
Solution: We opted for a custom UI approach, allowing for a tailored user experience specific to Sprout's needs.
Impact of sprout™ on society
sprout™ transforms society by decentralizing sustainable project funding and sparking innovation in environmental solutions.
Using the Hive blockchain, it creates a platform where individuals with green ideas can share their projects and get support from a diverse community. This encourages collaboration, helping grassroots people who have the time and motivation to pursue sustainable projects expand their impact and address global environmental issues.
sprout™ not only provides financial backing but also raises awareness and encourages people to take part in building a greener, more sustainable future together.
Winning Potential
sprout™ has the potential to be a game-changer by tackling the urgent need for sustainable project funding. It connects creators with funders on a user-friendly platform, ensuring transparency and inclusivity. This innovative idea not only addresses pressing environmental challenges but would also be a valuable addition to the collection of Hive Blockchain Apps. sprout™ empowers individuals to support impactful initiatives directly, making a real difference in our efforts towards a sustainable future.
Important Links
- Presentation
- GitHub Repository for sprout™ (Main Webapp)
- GitHub Repository for roots (Backend & Blockchain)
- Deployed Website Link