Agoric / agoric-sdk

monorepo for the Agoric Javascript smart contract platform
Apache License 2.0
327 stars 206 forks source link

Ticketing System - NFTs for event tickets #4657

Closed jeetraut closed 9 months ago

jeetraut commented 2 years ago

Description

Build a contract which allows future instantiators to define their own NFTs for event tickets and sell them. Fork the “Primary Sales” page from dapp-card-store to demonstrate selling the tickets through a front end. Create a “Check In” page which verifies a user’s ticket(s) and shows seat location(s).

Additional Details The contract instantiator must be able to create a unique issuer, brand, and mint for the NFTs on instantiation.

Ticket NFTs should include: Event name Event date and time Price Seat ID

Seat ID should be defined as Seat # Row (Letter or Number) Section # Feel free to use a large real-life venue as an example.

The instantiator of the contract should be able to define ticket prices based on section # on instantiation.

The goal of the Check In UI is to demonstrate how a third party might be able to verify a user’s tickets. Since tickets are transferable, the Check In UI should be able to receive a ticket from the user to hold (i.e., on admission to the event). Any clear demonstration of this capability would meet the criteria.

Context

Event tickets are a commonly requested use case for NFTs, and an example that is easy for a mainstream audience to understand. To help demonstrate possibilities to third party developer teams, we’d like to offer a contract example for defining new tickets and a front end to purchase and use them.

Acceptance Criteria

Approach validated by the Agoric team Criteria ‘Description’ met

Time Estimation

1.5 weeks

Reward

$4,800

Payment will be made in USD (fiat currency) via wire transfer. The developer is responsible for providing their completed tax documents (W9 for US based developers and/or W8 or W8-BEN-E for non-US based developers) and providing their banking details in order to receive payment.

Applicant Assessment Criteria

Important: Please provide a clear workplan for how you will approach this bounty. Use the work plan as an initial demonstration that you would be a good candidate. Bounties will require coordination with the Agoric team, so unfortunately only plans submitted in English will be considered.

Applicants will be assessed based on the following criteria: Issue-specific domain experience Issue-specific technical capability Familiarity with Agoric's platform JavaScript experience Availability and communication

Experience Write-up

As part of completing the bounty, we ask that you write up a short (or long!) summary of your experience building on Agoric. This is important feedback for us as we evolve the platform.

Review Process

Agoric team reviews your submitted workplan on Gitcoin – It is best to join our Discord and post your gitcoin name in the bounties channel, so that we can follow up with you. Otherwise, we will write on your gitcoin profile wall and say hello! Agoric contacts you to provide reference projects / sample code for engineering review Introductory call to discuss your plans and expected timeline You join the Agoric Discord bounties channel (if you haven’t done so already) Agoric accepts you on Gitcoin and you get started!

References

agoric.com/documentation Agoric’s dapp-card-store (https://github.com/Agoric/dapp-card-store) for example implementation using NFTs

bounties channel in Discord for general questions and your private bounty channel for direct questions to the Agoric team

gitcoinbot commented 2 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 264 years, 8 months from now. Please review their action plans below:

1) acevikings has applied to start work _(Funders only: approve worker | reject worker)_.

Hey we are a team of Developers and we have already worked on similar projects and are confident in delivering this within the required duration. We have worked on NFT Factory contracts with customizable metadata and can easily complete this with full set of required features if given the opportunity. 2) bshevchenko has applied to start work _(Funders only: approve worker | reject worker)_.

Ready to start with this one! :) 3) danishyasin33 has been approved to start work.

Hi team Agoric,

This is an interesting project. I can get started on this immediately and the following describes my work plan:

Hey team,

We’re a duo of developer/designer. This is our chance to explore and showcase the benefits of Agoric platform. So here is the game plan:

Best, 5) amalnathsathyan has applied to start work _(Funders only: approve worker | reject worker)_.

I have been working NFTs and Marketplace creation for a while. For this project, I can implement the following

Estimated Delivery Time : 3-4 days 6) mayoreee has applied to start work _(Funders only: approve worker | reject worker)_.

I have extensive experience building dApps and smart contracts on public and private blockchain networks. You can see my github profile.

I can get this done efficiently.

Learn more on the Gitcoin Issue Details page.

dckc commented 2 years ago

HR: proposal: use simpleexchange contract... primary market... Sam: hm... I wonder about the case of multiple sellers... maybe ok... HR: maybe we could limit .. Sam: yes, using a creator facet method to create more tickets after you deploy the contract Sam: it's like a primary sale [??] HR: yes Sam: let me think it through a bit and get back to you later today Sam: it seems more straightforward to have one long-lasting contract than to have a UI that calls a deploy script for each sale

DC: an interaction diagram would be nice. for example: https://github.com/Agoric/agoric-sdk/blob/master/packages/run-protocol/src/runStake/README.md

Sam: mermaid.live looks handy

dckc commented 2 years ago

interaction diagram from today's discussion: https://gist.github.com/dckc/9c393be1bd5a147f72c6b42ca12a1aa2

dckc commented 2 years ago

@danishyasin33 invites testing: https://github.com/robor-systems/agoric-ticketing

currently: c861793

dckc commented 2 years ago

I hear from @samsiegart , @rowgraus , and @jeetraut that we are approving c861793.

For reference, we cloned it at https://github.com/agoric-labs/nft-ticketing .

@danishyasin33 , the gitcoin status page still shows it as "started"; is there something that you should do to change it to "submitted" or some such?

@jeetraut should we close this now, or do you want to leave it open until the bounty is paid?

gitcoinbot commented 2 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 4800.0 USD (4799.04 USD @ $1.0/USD) has been submitted by:

  1. @danishyasin33

@jeetraut please take a look at the submitted work:


danishyasin33 commented 2 years ago

I hear from @samsiegart , @rowgraus , and @jeetraut that we are approving c861793.

For reference, we cloned it at https://github.com/agoric-labs/nft-ticketing .

@danishyasin33 , the gitcoin status page still shows it as "started"; is there something that you should do to change it to "submitted" or some such?

@jeetraut should we close this now, or do you want to leave it open until the bounty is paid?

I submitted work. Should be good to go.