NFT Tickets
NFT Registration Ticket
Ticket representation inside blockchain:
{
"ticket": {
"type": "nft-reg",
"nft_ticket": bytes, // NFT ticket (encoded with base64), see below
"version": integer, // version, 0 now
"signatures": object, // signatures, see below
"key1": string, // Unique key
"key2": string, // Second unique key
"creator_height": int, // Block height at which NFT Ticket was created
// it is used to check if the SN that created
// this ticket was indeed in the list of top 10 SN
// at the moment of registration
"total_copies": int, // Number of available copies in NFT
"royalty": float, // Royalty %
"royalty_address": string, // Address to pay royalty
"green": boolean, // Indicate whether there green payment
"storage_fee": int, // Registration fee, in PSL
}
}Where nft_ticket is base64 encoding of the following JSON, as a string:
nft_ticket is base64 encoding of the following JSON, as a string:This JSON is created by WalletNode during the New NFT Registration process
Where app_ticket is ascii85 of the following JSON, as a string:
app_ticket is ascii85 of the following JSON, as a string:This JSON is created by WalletNode during the New Art Registration process
Dupe detection and fingerprints files and IDs
Dupe detection service - dd-service outputs data as json (dd_and_fingerprints) in the following format
WalletNode calculates IDs for dd_and_fingerprints_ids field of app_ticket as:
Base58(SHA3_256(compressed(Base64(dd_and_fingerprints).Base64(signatureSN1).Base64(signatureSN2).Base64(signatureSN3).counter)))
Where:
dd_and_fingerpints, is data returned by
dd-servicesignatureSN1-3, is Supernode's signatures of dd_and_fingerpints data
counter, is number in the range from
dd_and_fingerprints_ictodd_and_fingerprints_ic + dd_and_fingerprints_max
All three parts are concatenated together using "." as separator
rq_ids files and IDs
raptorQ service - rq-service outputs rq-symbols's id's in the following format
WalletNode calculates IDs for rq_ids field of app_ticket as:
Base58(SHA3-256(compress(Base64(rq_ids).Base64(signature).counter)))
Where:
rq-service-data, is data created by
rq-servicesignature, is creators signature over rq-service-data
counter, is number in the range from
rq_ids_ictorq_ids_ic + rq_ids_max
All three parts are concatenated together using "." as separator
And signatures are the following JSON object:
signatures are the following JSON object:All signatures here are of
nft_ticket
principalelement is created by WalletNode before sending ticket to SuperNodes for further processing
mn2andmn3elements are created by SuperNode 2 and SuperNode 3 respectfully
signatureelements are created by cNode on the SuperNode 1 as part of cNode API calltickets register nft, and MUST not be passed into the call
Ticket is written into blockchain by the cNode API tickets register nft:
here,
key1is unique human readable extract fromfingerprintskey2is anything else that can be used as secondary key
NFT Activation Ticket
Ticket representation inside blockchain:
Ticket is written into the blockchain by the cNode API tickets register act:
NFT Sell Ticket
Ticket representation inside blockchain:
Ticket is written into the blockchain by the cNode API tickets register sell:
NFT Buy Ticket
Ticket representation inside blockchain:
Ticket is written into the blockchain by the cNode API tickets register buy:
NFT Trade Ticket
Ticket representation inside blockchain:
Ticket is written into the blockchain by the cNode API tickets register trade:
Last updated
Was this helpful?