HomeCoinsGET Protocol (GET)GET Protocol — The ticket NFT production line

GET Protocol — The ticket NFT production line

- Advertisement -


GET Protocol — The ticket NFT production line

By blockchain developer at the GET Protocol Foundation Kasper Keunen.

This blog is an excerpt of the February update blog.

Overview of covered subjects

  • Flusher is live!
  • Managing ticket transparency & user privacy
  • getScan API overview
  • Smart contract update — upgradability!

Ticket-back-log minting

GET Protocol — The ticket NFT production line
getNFTs are rolling off the production belt!

After a full year of focusing on testing locally the first getNFT mints have finally hit the public ledger over the last weeks. Over the last 72 hours more than 35 000+ getNFTs have been minted by GETs ‘playground’ runner.

This runner is only the mocking the back-filling of 120 000 backlogged tickets in our system. The actual back-filling of the tickets will be done if the mocked back-filling is completed.

Isn’t minting easy?

It is. However it isn’t the mint that we are testing here. The process of minting and back-filling involves far more complex actions as only the minting transaction. Before a mint transaction is sent to the getNFT contract on-chain a lot has happend in the backend of both the ticketeer as well in GETs servers running the getEngine and getCustody. It is these processes that require attention and monitoring. The diagram below gives a rough overview of what is going on behind the scenes.

1614355595 310 GET Update February 21 — Its about time
Diagram showing all the processes that occur for a blockchain transaction to occur. Every new ticket owner is assigned a fresh wallet address on the fly, this address will be the owner of the NFT. After a successful mint the ticketeers backend is provided the location of the NFT. This will allow ticket holders to view their smart ticket ‘on chain’ in the near future!

Better safe than sorry

The minting process requires several database writes and callbacks to databases of our ticketeer integrators. As the production databases serve thousands of people on a daily basis we need to be certain flusher doesn’t disturb stability of these systems. Due to this we need to be very certain that our back-log mints and data-writes do not slow down or cause unexpected errors. So for no issues have been observed — steady as she goes!

1614355595 210 GET Update February 21 — Its about time

Next week we’ll start the back-filling the backlogged tickets using the live systems. This will cause the registration of more than 120 000 tickets and 200+ events!

getNFT blockchain privacy

When observing the getNFT ownership one might notice that each wallet at most owns 1 getNFT. This isn’t because all the ticket holders don’t have any friends or because they are overly compliant to covid laws. In the getNFT system each ticket lives on its own fresh wallet.

1614355595 865 GET Update February 21 — Its about time
1 wallet, 1 NFT — it is only fair.

To ensure privacy getNFT does not recycle wallet addresses — ever. Meaning: 1 ticket — 1 owner — 1 wallet. Always.

If a user buys 5 tickets, these will be registered to 5 wallet addresses with 1 getNFTs each . Even though these wallets ‘belong to each other’ as they are seeded from a HD wallet — for an outsider observing the blockchain this connection can’t be made (mathematically impossible to do so).

This means that for an outsider it is impossible to identify a user based on the amount of tickets owned — as this can be an identifying factor (one of many). No data is leaked — at all, at any times. There is no way a person can be DOXed — even if external data is included (like Facebook attendance data).

Privacy first

Privacy is a serious matter. The fact that with a blockchain all records are public domain and cannot be deleted on request makes it even more persistent. For example we would be technically unable to comply with a GDPR right to be forgotten request without lobbying for an Ethereum hardfork.

Transparency as a service — getScanner API

In the previous blog I shared some details on how anybody (with knowledge of blockchain explorers) is able to query the getNFT smart contract to get to know more about a certain event or particular tickets. Surely copying hashes in a clunky smart contract interfaces isn’t how we envision the future of ticketing to be experienced.

Our growing blockchain team is working on a kick-ass ticket explorer. However, we do not want us to be the only ones serving up the blockchain data. One of the reasons the blockchain space is so vibrant and innovation is so fast paces — is due to the fact that all data and tools are accessible for anyone, anywhere without consent. Allowing anybody to build on the GET Protocol is one of our key objectives. Open sourcing the code base is only part of the solution. Ensuring that the ticket/NFT data is easily queried is maybe even more pressing.

1614355595 26 GET Update February 21 — Its about time

Those wanting to use our getNFT assets or registered event data in their own app or site should not have to study the Solidity ABIs. Requesting data about a ticket should be as easy as doing an API call. This is why we are offering an (open sourced) node repo called getScan. The diagram shows the pivotal role these nodes will play in tying everything together.

Some example queries:

  • Fetching event data
  • Fetching ticket owner data.
  • Fetching ticketeer data.

We expect to publish the full documentation for using the getScan API next week!

V4 of getNFT contracts

A key point of using a blockchain as data-storage mechanism is that the data is immutably registered. No do-overs, no edits, no censorship. This ‘blockchain feat’ is pivotal in solving the inefficiencies in the ticketing sector — as these are caused fundamentally by distrust. This immutability does pose challenges from the continues development side of things.

Upgrading the immutable

With blockchain data written is immutably stored. Data can technically be deleted, but it will remain possible to lookup what its previous state was. The code writing the data is also persistent(by default). As GET is constantly improving and adding new features this immutability poses a challenge if one wants to incrementally improvement and add features.

When using the default smart contract deployment process, every change to smart contract code would result in a completely new smart contract address for getNFTs. Causing a wild growth in getNFT contracts. Surely this isn’t viable — luckily there are several Solidity design patterns that allow developers to upgrade contracts while keeping persistent storage.

After a long period of research and testing we completed a up-gradable version of our getNFT Factory contract as well as the event metadata contracts. A diagram showing the architecture of our approach is shown below.

1614355595 127 GET Update February 21 — Its about time
Upgradability was achieved using the eternal storage design pattern. In this pattern the storage and logic states/slots are split using consistent proxy contract.

Check out the new contracts for yourself on our Github!

GETProtocol/ERC721-Smart-Ticket-Contracts-NFT-P2P-TRADING

Godspeed y’all.

More about GET Protocol

Feedback
As always, if you have comments, questions or suggestions, please drop in to our active Telegram channel, and be sure to follow us on Twitter.

How to help out
If you are a fan of our system and want to help out, you can do so by leaving a review about GET Protocol user GUTS on Google, the iOS app store or Google Play store.

Where to buy GET
Want to get your hands on some GET tokens? Here’s an easy guide.

1614355598 305 GET Update February 21 — Its about time
A blockchain-based honest ticketing solution for all.

Korea
Our Korean Telegram channel can be found here, and our Naver page is here.

Learn more
If you want to know more about what we do, visit our website, or join the discussion on the GET Protocol Reddit.

GET Protocol — The ticket NFT production line.clientViewed&referrerSource=full rss&postId=9d4e1329f16f


GET Protocol — The ticket NFT production line was originally published in GET Protocol on Medium, where people are continuing the conversation by highlighting and responding to this story.





Source link

- Advertisement -
Mr Bitcointehttps://www.bitcointe.com/
“Fact You Need To Know About Cryptocurrency - The first Bitcoin purchase was for pizza.” ― Mohsin Jameel
462FansLike
76FollowersFollow
4,567FollowersFollow
5,261FollowersFollow
1,498FollowersFollow
2,230SubscribersSubscribe

Most Popular

bitcoin
Bitcoin (BTC) $ 62,860.00
ethereum
Ethereum (ETH) $ 3,798.89
tether
Tether (USDT) $ 1.00
bitcoin-cash
Bitcoin Cash (BCH) $ 608.57
litecoin
Litecoin (LTC) $ 185.78
eos
EOS (EOS) $ 4.43
okb
OKB (OKB) $ 19.40
tezos
Tezos (XTZ) $ 6.84
leo-token
LEO Token (LEO) $ 2.97
cardano
Cardano (ADA) $ 2.12
monero
Monero (XMR) $ 254.18
stellar
Stellar (XLM) $ 0.372312
chainlink
Chainlink (LINK) $ 25.56
huobi-token
Huobi Token (HT) $ 7.76
tron
TRON (TRX) $ 0.100592
usd-coin
USD Coin (USDC) $ 1.00
dash
Dash (DASH) $ 192.93
neo
NEO (NEO) $ 43.24
iota
IOTA (MIOTA) $ 1.23
nem
NEM (XEM) $ 0.167625
zcash
Zcash (ZEC) $ 142.01
maker
Maker (MKR) $ 2,477.00
paxos-standard
Pax Dollar (USDP) $ 1.00
ethereum-classic
Ethereum Classic (ETC) $ 52.51
vechain
VeChain (VET) $ 0.116836
true-usd
TrueUSD (TUSD) $ 1.00
ftx-token
FTX Token (FTT) $ 56.32
kucoin-shares
KuCoin Token (KCS) $ 13.92
waves
Waves (WAVES) $ 28.53