Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature idea: QR generator #100

Open
mcintyre94 opened this issue Jun 23, 2022 · 4 comments
Open

Feature idea: QR generator #100

mcintyre94 opened this issue Jun 23, 2022 · 4 comments

Comments

@mcintyre94
Copy link

I've been thinking about the ticketing use case of cardinal-namespaces, and something I think could be really cool is to generate a QR code NFT. I think it'd make sense to use a QR code that just encodes the entryName. This would allow events to distribute a non-transferable, easily scannable NFT that uniquely identifies a participant, and use it for check in/out etc. The use case that made me think about this was Hacker Houses, where scanning the QR code on the wristband shows that it's just encoding some kind of ID.

I think this would require a new feature in cardinal-generator, to support a URL with a request of eg https://nft.cardinal.so/img/7wBU2GDPKtXayMgY3DPasYsnkJtuDwgU1m8siuq1skwg?name=puwzqwnr5f152doldvpuwzq4rpup68pl&qr

This would render a QR code encoding puwzqwnr5f152doldvpuwzq4rpup68pl

@jpbogle
Copy link
Member

jpbogle commented Jun 23, 2022

hi @mcintyre94 thanks for the suggestion!

Are you envisioning a full QR code image? I am thinking we could potentially add ?qr= puwzqwnr5f152doldvpuwzq4rpup68pl which would render a QR code on the bottom corner of the existing image. I am not sure how much value that has though also given that these images can be easily found on-chain publicly and displayed. 1 option maybe embedding qr={publicKey} and then you have to holder the corresponding private key as well but im not sure the use for that

@mcintyre94
Copy link
Author

Are you envisioning a full QR code image? I am thinking we could potentially add ?qr= puwzqwnr5f152doldvpuwzq4rpup68pl which would render a QR code on the bottom corner of the existing image. I am not sure how much value that has though also given that these images can be easily found on-chain publicly and displayed. 1 option maybe embedding qr={publicKey} and then you have to holder the corresponding private key as well but im not sure the use for that

I like the idea of overlaying a QR code! I think this could make more sense than text for any case where it's meant to be an ID rather than a username - scanning a QR code is easier than reading many strings. It is true though that the QR code could be found and displayed, so maybe it wouldn't really work. Ticketing was a use case mentioned in Cardinal Namespaces docs, how were you thinking that'd work more generally while avoiding the problem of copies?

@jpbogle
Copy link
Member

jpbogle commented Jul 11, 2022

Ticketing was a use case mentioned in Cardinal Namespaces docs, how were you thinking that'd work more generally while avoiding the problem of copies?

How ticketing works is by representing the ticket as a real NFT, not a QR code. Then if you want to asset ownership you sign a message with your private key, which includes a timestamp in it among a few other fields, and then the scanner looks up that holders publicKey on-chain directly and checks if they do in fact hold the token they say they own

@jpbogle
Copy link
Member

jpbogle commented Jul 11, 2022

so we view the scanning as a separate functionality that is a sort of component for verifying NFT ownership. This can be used to do ticketing since you have a list of mints, or a collection accepted by the given scanner. And new scanners can be made. And how it works with namespaces is you basically create a scanner that accepts all tokens from that namespaces collection, but the scanner could still be used separately with any other set of NFTs. We plan to open source the whole scanner components shortly its mostly just the UI components for generating the scanner QR codes along with a library for this signed token

https://twitter.com/cardinal_labs/status/1541208948723916800?s=20&t=OZ4a28AKzwSbRe8mHmcZow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants