Inspiration

The inspiration behind building this project stems from a deep-seated belief in the transformative power of decentralization. Traditional ticketing systems have long been plagued by issues such as fraudulent tickets, scalping, and lack of control over personal data. These challenges have not only impacted event organizers but have also led to frustrations for attendees. We saw an opportunity to address these pain points and create a better, more inclusive ticketing experience for all. Our inspiration lies in empowering individuals and organizations to take control of their tickets, ensuring secure transactions, and protecting user privacy. By tokenizing tickets as an NFT and leveraging decentralized technologies, we aim to provide a trustworthy and tamper-proof solution that eliminates the risk of fraud, ensures fair access, and instills confidence in the ticketing process. We draw inspiration from the desire to level the playing field, enabling event-goers to secure their tickets without intermediaries, exorbitant fees, or the fear of counterfeits. Moreover, our motivation comes from the broader vision of decentralization as a catalyst for positive change. We believe in empowering individuals, fostering trust, and unlocking new opportunities. By building this decentralized ticketing infrastructure, we aim to contribute to the advancement of decentralized technologies and showcase their potential in transforming traditional industries.

What it does

Our project is an NFT ticketing platform that addresses the issue of ticket duplication for events. We offer a seamless onboarding experience by implementing Polybase for social authentication, ensuring inclusivity for web2 users without wallet addresses. Event organizers can add their events, and each event goes through an approval process by admins before being listed on the platform.

Once an event is approved, users can securely purchase event tickets using Ethereum (ETH) over the Aurora Testnet, leveraging the Near protocol for enhanced scalability. Each ticket purchased is minted as a unique NFT (Non-Fungible Token) associated with the user's registered wallet address. NFT ownership guarantees authenticity and prevents ticket fraud since duplicates cannot be created.

To optimize gas fees while interacting with the blockchain, we use "view" functions for cost-efficient read operations, and "payable" functions for secure ETH transfers. Our platform also incorporates Ether.js to enable client-side interactions with smart contracts, allowing users to view and manage their NFT tickets seamlessly.

In summary, our project provides a user-friendly NFT ticketing solution, ensuring secure and authentic event access, while catering to both blockchain enthusiasts and web2 users through Polybase integration. With the use of Near protocol via the Aurora Testnet, we enhance scalability and provide an inclusive ticketing platform for event organizers and attendees alike.

How we built it

Our project addresses ticket duplication issues through NFT ticketing. Recognizing that less than 5% of users own wallet addresses to interact with the blockchain, we prioritize inclusivity. To achieve this, we've implemented Polybase for social onboarding, allowing web2 users to participate seamlessly. Users sign in using Polybase, while MetaMask integration remains available for blockchain enthusiasts. The process begins with organizers adding events, subject to approval by admins before listing. To streamline communication and keep organizers informed, we developed an SMTP-based script. Once an event gets approved, the script automatically sends an email notification to the event organizer, confirming the approval.

Ticket sales start once organizers set the maximum supply, and users securely purchase tickets using ETH over the Aurora network. Each user receives a unique NFT, transferred to their registered wallet address or viewable on MetaMask, guaranteeing authenticity and preventing duplication.

Challenges we ran into

Developing a tokenized approach for ticketing was not an easy task. The first and foremost challenge we faced was user onboarding. Many web2 users do not have accounts on web3 wallets so we wanted to build a more inclusive approach to onboard users. We tried many options that support non-custodial social login for web3 dapps, such as biconomy,web3auth, and arcana. Finally we were able to integrate social login using polybase.
All the transactions related to ticket are on-chain meaning all the logic for ticketing is stored in smart contracts. We faced challenges while mapping the respective event to its total supply of tickets and then connecting the respective contract to the frontend. We faced problems while fetching NFT details after minting the ticket as NFT. The tokenuri returned an internal server error for some token ids. After a little bit of effort, we were able to solve it. Another challenge we faced was implementing gasless transactions. Gas fees are typically associated with blockchain transactions and can be a barrier for user adoption due to their costs. We tried using biconomy for gasless transactions. It worked on testnet like goerli and sepolia but it did not work on Aurora Testnet.

Accomplishments that we're proud of

Firstly, we successfully provide onboarding options for Web2 users by implementing a social login feature. This streamlined the user registration process, allowing users to conveniently sign up and access our platform using their existing Google accounts. This approach enhanced user experience and eliminated the need for users to create separate credentials for our platform. Secondly, we prioritized user data privacy and security. Other than email address or web3 wallet address no extra information is needed for users to purchase tickets or for organizers to roll out tickets to users. This ensures complete data privacy for users and no access of sensitive information of users to a third party in case of a data breach.
Thirdly, we adopted an innovative NFT-based ticketing approach. By leveraging Non-Fungible Tokens, we revolutionized the ticketing industry, providing users with unique digital tickets that are verifiable, tamper-proof, and transferrable. This cutting-edge solution offered enhanced security and transparency, mitigating issues such as counterfeit tickets and facilitating seamless ticket transfers.

It was our first time interacting with Aurora testnet. All the transactions such as minting ticket, rolling out tickets by organizer and setting the maximum ticket limit happen on the aurora testnet. Our contract is also deployed on Aurora testnet.

Lastly, we developed automated mail scripts that streamlined our communication processes. These scripts automated email notification , such as notifying the organizer after approval by the admin. This scripts can further be extended to send notifications about ticket confirmations, event updates, and reminders. This automation significantly reduced manual efforts, improved efficiency, and ensured timely and consistent communication with our platform users.

What we learned

Seamless Web2 to Web3 Onboarding: I successfully onboarded traditional web2 users to my web3 website using Polybase for social onboarding. This allowed users without a wallet address to interact with the blockchain, ensuring inclusivity and expanding my user base.

NFT Ticketing Solution: I learned how to tackle the ticketing problem by implementing NFTs, a practical application of blockchain technology. NFTs' uniqueness and ownership properties effectively solved the ticket duplication concerns.

Technical Challenges & Solutions: I encountered challenges in mapping event IDs to tokenURIs and token IDs of the NFT. Through my understanding of data storage and data structure (mapping) in Solidity, I overcame these technicalities, ensuring a smooth functioning of my platform.

Gas Fee Optimization: To optimize gas fees while interacting with the blockchain, I made use of "view" functions in Solidity. These functions provided data without altering the state, resulting in cost-efficient read operations.

ETH Transfer and Payable Functions: I acquired proficiency in transferring ETH from one wallet address to another using "payable" functions in Solidity. This allowed for secure and seamless transactions within my NFT ticketing platform.

Client-side NFT Data Interaction: Leveraging Ether.js, I learned how to interact with smart contracts from the client-side, enabling me to reveal NFT data and enhance the overall user experience.

What's next for TokenGate

Looking ahead, we have a clear vision for future goals and aspirations. First and foremost, we aim to implement gasless transactions, revolutionizing the user experience by reducing or eliminating the gas fees associated with blockchain transactions. By exploring innovative solutions and alternative transaction models, we seeks to provide a seamless and cost-effective platform for its users.

Additionally, we want to introducte dynamic NFTs for tickets, bringing a new level of interactivity and versatility to the NFT ecosystem. By developing NFTs with programmable features, TokenGate aims to unlock a wide range of possibilities, enabling real-time updates and interactions that redefine the way NFTs are perceived and utilized.

Another key objective for TokenGate is to support paid events, catering to the needs of event organizers who wish to monetize their offerings. By providing a robust payment infrastructure, we want to empower organizers to seamlessly sell tickets and manage revenue streams, facilitating a diverse array of paid events on the platform.

Furthermore, we plan to introduce a withdrawal feature that enables organizers to easily access and withdraw funds generated from their events. This feature aims to simplify the financial aspects for event organizers, allowing them to efficiently manage their revenue and utilize funds as needed.

Built With

Share this project:

Updates