Never Miss an Event Photo again, Take photos and upload directories on Starknet ๐ฆ
EventShot is a decentralized platform designed to revolutionize event photography by seamlessly integrating QR code technology, real-time photo capturing, IPFS for decentralized storage, and StarkNet smart contracts for immutable record-keeping.
Event Hosts can effortlessly create events on the platform.
Upon creation, a unique QR code is generated for each event.
This QR code can be printed or shared digitally, serving as the gateway for attendees to participate.
Attendees scan the event's QR code using their devices.
Scanning directs them to the event's dedicated page on the web app, eliminating the need for manual searches or registrations.
Within the event page, attendees can capture photos in real-time.
Captured images are uploaded to IPFS, ensuring decentralized and tamper-proof storage.
Metadata, including uploader information and timestamps, are recorded on StarkNet smart contracts, guaranteeing authenticity and traceability.
Every photo upload is logged on StarkNet, providing a transparent and immutable history of contributions.
This ensures that event memories are preserved securely and verifiably.
- Frontend: A responsive web application facilitating event creation, QR code generation, and photo capturing.
- Backend: Integration with IPFS for decentralized storage of images.
- Blockchain Layer: StarkNet smart contracts manage event data, image metadata, and user interactions.
- QR Code Integration: Each event's unique QR code links directly to its corresponding page on the web app.
---
Conferences & Seminars: Attendees can capture and share moments, fostering community engagement.
Weddings & Celebrations: Guests contribute to a collective photo album, preserving memories from multiple perspectives.
Festivals & Public Gatherings: Real-time photo sharing enhances the event experience and creates a decentralized media repository.
User-Friendly: Simplifies the process of event participation and photo sharing.
Decentralized Storage: Ensures that memories are preserved without reliance on centralized servers.
Immutable Records: StarkNet integration guarantees that all contributions are securely recorded.
Enhanced Engagement: QR code access and real-time uploads foster active participation.
live url- https://event-shots.vercel.app/
Frontend Github -https://github.com/Shuriken-labs/event-shots
Starknet SmartContract - https://github.com/Shuriken-labs/event-shot-cairo-contract
Backend Github - https://github.com/Shuriken-labs/event-shot-backend-starknet
1. ByteArray Wars ๐ฅ The Problem: StarkNetโs ByteArray encoding was not playing nice. The Fight: Tried sending raw strings โ Reverted. Manual hex splitting โ Calldata mismatches. Finally reverse-engineered the ABIโs expected struct (data, pending_word, pending_word_len) and forced it into submission. 2. The "ENTRYPOINT_NOT_FOUND" Trap ๐ณ๏ธ The Illusion: Thought the function didnโt exist. Reality: Our calldata formatting was slightly off. Breakthrough: Logged exact calldata sent vs. expected. Realized ByteArray needed chunked 31-byte hex strings + padding. 3. Nested Storage Hell ๐ Data Structure: event_id โ Vec<IImage> (where IImage = uploader + Vec<ByteArray>). Challenge: Flattening nested arrays in Cairo without iter(). Solution: Double for loops with manual indexing (at(i)). Edge Case: Empty arrays? Handled. Missing events? Handled. 4. Frontend โ Contract Sync ๐ฅ Pain Point: JS byteArrayFromString โ Cairoโs struct. Fix: Made frontend reconstruct the exact ByteArray struct the contract demanded. Validated with raw calldata dumps. 5. The "It Works" Moment ๐ After: Brutal ABI alignment. Countless panic!("Why?!") removals. Final Win: Images flow from frontend โ backend โ contract โ flattened array without explosions.
n/a