TOP-G
A decentralized RSVP dapp where users deposit ETH to secure their spot at events, refunded upon check-in, ensuring commitment and trustless event management.
Created on 9th August 2024
•
TOP-G
A decentralized RSVP dapp where users deposit ETH to secure their spot at events, refunded upon check-in, ensuring commitment and trustless event management.
The problem TOP-G solves
The problem this dapp solves is the high rate of no-shows at events, which can be frustrating for organizers and disruptive to event planning. Traditional RSVP systems often lack accountability, leading to a significant number of people who RSVP but don’t attend. This results in wasted resources, empty seats, and potential financial losses for event organizers.
By requiring attendees to deposit ETH when they RSVP, this dapp creates a financial incentive for people to follow through on their commitments. If they attend and check in at the event, they get their deposit back. If they don’t, their deposit is forfeited, and the funds go to the event organizer. This system encourages accountability and reduces the likelihood of no-shows.
Additionally, the dapp provides a transparent, decentralized platform for event management. It eliminates the need for intermediaries, giving event organizers and attendees full control over the process. All transactions and data are recorded on the blockchain, ensuring transparency, security, and trust. This makes event planning more efficient, reduces risks, and ensures that only those who are genuinely committed to attending the event secure a spot.
Challenges I ran into
One significant hurdle we faced while building the RSVP dapp was managing the logic for handling discrepancies between users who RSVP’d and those who actually checked in. The challenge was ensuring that refunds were accurately processed for attendees who showed up, while also correctly handling withdrawals for the event organizer when some attendees failed to check in.
Initially, our smart contract had issues with correctly identifying and differentiating between attendees who should receive their deposit back and those who shouldn’t. This led to problems where some users didn’t get their refund, or funds weren’t accurately transferred to the event organizer for no-shows. The complexity of managing this logic within the constraints of Solidity, a language with strict gas limits and transaction costs, made it even more challenging.
To overcome this, we took a two-pronged approach:
-
Rigorous Logic Checks: We implemented detailed logic within the smart contract to carefully track the status of each RSVP’d user. We ensured that the contract could correctly verify whether a user had checked in before processing any refunds. This involved creating and managing separate lists for RSVP’d users and confirmed attendees, cross-checking these lists during the refund process.
-
Custom Solidity Events: To make the contract’s operations more transparent and easier to debug, we introduced custom Solidity events. These events, such as
NewRSVP
,ConfirmedAttendee
andDepositsPaid
were triggered at key points in the contract’s lifecycle. By listening to these events during testing and deployment, we were able to monitor exactly when and where issues were occurring, allowing us to quickly identify and fix bugs.
Through these strategies, we were able to refine the contract’s logic, ensuring that deposits were correctly managed and all transactions were accurately handled. This not only resolved the immediate issues but also made the smart contract more robust and reliable.
Tracks Applied (2)
Best New Subgraph or Substream
The Graph
Best Dapp on Amoy or PoS Mainnet
Polygon
