I would like to build a platform allowing people to buy tickets:
credit card (via Stripe)
PayPal
crypto (send ETH to the contract)
crypto via Coinbase commerce (accepting BTC and other assets)
(later) Venmo
(later) WeChat
Basically "open for business", any form of money that is practical.
At some point I would like to issue a NFT as a receipt of purchase allowing access to token-gated community.
I was thinking about minting it as the purchase is processed and storing it in "Account Abstraction", later on sending to the actual address.
If you know, if you can, please be my "personal Google", it's a rapidly developing area, kindly appreciating your advice, thank you
Some of my frens are using https://lu.ma and https://partiful.com/ but I still believe there is niche for mine. I have some unique, very handy features in mind. The account abstraction thing and Open Zeppelin - would love to know...
I have a list of organisations that generate PVT and NVT - working name - positive value token, negative value token.
Example of PVT: cleaning up beach from trash. No direct business model, but it genuinely adds value.
Example of NVT: open pit coal mining, a company digs a hole, local farmers no longer can access water, they lose their crops. Not illegal (they have permits, licence) but it genuinely causes harm.
Anyone can create a report describing activities of the coal mining company but they do not have wallet assigned yet.
WIP:
// FUTURE: Account abstraction
// Currently, anyone can create an organisation to accrue PVT and NVT tokens
// Then admin can assign wallet to the organisation via face-to-face video call
// Of course it is a surface of attack, seeking a better way
function assignPayoutWallet(uint256 organisationIndex, address payoutWallet) public adminOnly {
organisations[organisationIndex].payoutWallet = payoutWallet;
// TODO: transfer existing tokens
}
I'm pretty sure the state of the ecosystem / frameworks / libraries will catchup with it soon.
In the meanwhile, I'm using legacy old-school admin account to assign a wallet.
The use case with ticketing remains valid as well.
You attend some cool event, pay with card, PayPal, whatever... At some point you receive the NFT allowing you token gated access.
This also can be solved using legacy old-school measures - log in to the ticketing system and assign your wallet when you ready.