Inspiration
- Community meetup organizers require many platforms to just creating an event (google form for registration, wallet onboarding using NEAR wallet, and then NFT poap using another platform)
- Existing solution is not holistic enough, we need a platform where EO can create events and verify attendance ownership of NFT easily
- Many real-life events are not using NFT ticketing, an easy onboarding process would definitely help mass adoption
What it does
pipapo.io is a blockchain ticketing platform that connects users and event organizers in a secure and transparent way. Event organizers can easily create events and verify attendance using QR code reader. Guests can use the NEAR wallet or Ramper to login into the platform. Each ticket is a verifiable NEP-171 NFT that can be traded on-chain on marketplaces such as Paras.
Event Organizers (EO) flow:
- Login using NEAR wallet / Ramper
- Create an event
- Approve transaction to create subaccount (which will create NEP-171 NFT smart contract)
- Start selling the tickets
Guest flow:
- Login using NEAR wallet /Ramper
- Buy or claim free tickets
Verify NFT flow:
- Guest: go to "My Tickets" menu
- Guest: click 'show QR' on the ticket they want to verify
- EO: go to "Verify Ticket", and scan the QR from the guest
- Guest: Approve the on-chain transaction
- EO: Wait for on-chain approval, after the approval the NFT has been redeemed
How we built it
- Next.JS using TypeScript for both frontend and backend, served from vercel
- Smart contracts are created using Rust, both for the NFT factory and NFT smart contract itself (https://github.com/AM-Ticket/ticketing-nft-factory-contract, https://github.com/AM-Ticket/ticketing-nft-contract)
- IDE used: Visual Studio Code
Challenges we ran into
- Uploading and creating NFT contract from frontend was not possible because of the get request to NEAR wallet, we decided to use a factory smart contract instead.
- There's no low-cost way to track blockchain events, the workaround is to use multiple view functions, will use an indexer when we have the resource.
Accomplishments that we're proud of
- Everything works end-to-end
- Creating the NFT smart contract factory
- The verify QR flow works great, we use short-polling and view functions to track approval
- Login with social accounts using Ramper
What we learned
- It is not possible to create smart contract from frontend easily, because of the get request limitation
- There are values added when using NFT on-chain ticketing, such as the proof of ownership that can be proven by transaction approval (during qr code scan)
What's next for pipapo.io
After this metabuild we will implement the following,
- Event organizer dashboard to track registered guests
- ES-Token as a utility token (NEP-141) that will be used for benefiting the community
- Subscription and vouchers platform
- User NEAR indexer lake for better real-time updates
- Use IPFS for decentralized solution for the images
Built With
- gmaps
- javascript
- mongodb
- near
- nextjs
- ramper
- rust
Log in or sign up for Devpost to join the conversation.