Skip to content
CrowdFundiee

CrowdFundiee

Empowering Ideas, One Decentralized Contribution at a Time.

Created on 2nd December 2024

•

CrowdFundiee

CrowdFundiee

Empowering Ideas, One Decentralized Contribution at a Time.

The problem CrowdFundiee solves

Raising Funds Transparently

Creators, entrepreneurs, and organizations can raise funds for projects, startups, or social causes.
Blockchain technology ensures transparency, making it easy for backers to verify where their money is being used.
Decentralized Donations

Eliminates the need for intermediaries, reducing transaction fees and delays in fund transfers.
Direct wallet-to-wallet transactions ensure trust and reliability.
Smart Contract-Driven Security

Funds are held in smart contracts, ensuring they are only released when pre-defined milestones or conditions are met.
This makes fundraising safer for backers, reducing the chances of fraud.
Global Accessibility

The platform is accessible to anyone with an internet connection and a crypto wallet, allowing creators to reach global audiences for funding.
Immutable Records

Every transaction is recorded on the blockchain, creating an unchangeable and auditable record of all contributions.
This builds accountability and trust between fundraisers and backers.
Tokenized Rewards

Fundraisers can offer tokenized incentives to backers, such as NFTs or governance tokens, enhancing engagement and providing additional value

Challenges we ran into

Bug Description:
While implementing the smart contract for the crowdfunding platform, I faced an issue with the fund release logic. Specifically, the contract failed to release funds when the milestone condition was met. Instead, the transaction reverted with an "out of gas" error.

Root Cause:
After debugging, I discovered that the issue was due to an infinite loop in the function handling payouts. The function iterated over a list of contributors and attempted to process all payments in a single transaction. For a large number of contributors, the gas limit was exceeded.

Solution:

Optimized Smart Contract Design:

I restructured the logic to process payments in batches rather than in a single transaction.
This reduced the gas usage per transaction.
Used msg.sender for Self-Execution:

I allowed contributors to claim their funds individually by calling the withdrawFunds() function, shifting execution responsibility to them.
Testing and Gas Optimization:

Ran multiple test cases using tools like Hardhat and Remix to identify and optimize other high-gas functions.

Tracks Applied (1)

Consumer Track

The Web3 crowdfunding platform aligns perfectly with the Consumer Track by leveraging Base, an Ethereum Layer 2 solution...Read More
Base

Base

Discussion

Builders also viewed

See more projects on Devfolio