This document outlines the metadata schema and modality selections chosen when installing CEP-78 Proof-of-Victory NFT contracts.
Proof-of-Victory (PoV) NFTs are on-chain certificates that allow for physical recognition of an individual's acheivement. While PoV's were created by the Casper Association to recognize hackathon winners, they may be used by other organizations and/or other events.
Casper Association's Proof-of-Victory NFTs use the CustomValidated
NFTMetadataKind which requires that an NFT's metadata conform to a specified JSON schema. The schema used for PoV NFTs is below.
{
"properties": {
"participant": {
"name": "participant",
"description": "The full/preferred name of the participant.",
"required": true
},
"bounty": {
"name": "bounty",
"description": "The bounty completed to earn the award.",
"required": true
},
"project": {
"name": "project",
"description": "The name of the project submitted to win the award.",
"required": true
},
"place": {
"name": "place",
"description": "The rank of the award (e.g. '3rd place').",
"required": false
},
"tier": {
"name": "tier",
"description": "The tier of the bounty (e.g. 'Advanced').",
"required": false
},
"image": {
"name": "image",
"description": "The IPFS URI of the image associated with the NFT.",
"required": true
},
"event_details": {
"name": "event_details",
"description": "More details about the event or certificate (e.g. 'Hackathon organized by the Casper Association from ... until ... in partnership with ...').",
"required": false
},
"event_date": {
"name": "event_date",
"description": "The date the event concluded in the format (DD-MM-YYYY).",
"required": false
},
"certifier": {
"name": "certifier",
"description": "Person or entity vouching for the validity of the award.",
"required": false
}
}
}
A specific selection of CEP-78 Modalities is chosen for Casper Association's Proof-of-Victory NFTs. This section outlines each modality chosen and the purpose it serves.
The CEP-78 Ownership mode is set to Transferable
. This allows for NFTs to be transferrable between accounts.
Casper's Proof-of-Victory NFTs are tokens that represent an award that may influence physical recognition. Because of this, Casper's PoV NFTs are of the Virtual
NFTKind.
Note: An NFT's NFTKind
does not alter any inherent functionality, it is used as a reference.
NFTHolderMode dictates which entities on a Casper Network can hold NFTs; in the case of Casper's PoV NFTs, Accounts
are the only entities permissioned to hold them.
WhitelistMode is ignored as PoV NFTs have no use for a whitelist.
The minting mode defines which entities have the right to mint a PoV NFT. For this use-case, Installer
is chosen, meaning PoV NFTs can only be minted by the installer of the smart contract.
As mentioned in the first section, the NFTMetadataKind is set to CustomValidated
and requires its own schema.
The CEP-78 standard allows tokens to be identified either by its hash or by an ordinal, auto-incrementing value. In the case of PoV NFTs, tokens are identified by hash.
Casper Association's PoV NFTs are immutable, meaning the metadata may not be altered once the NFT is minted.
BurnMode is set to Burnable
, giving winners the ability to destroy their award if they so choose.
- Casper's Proof-of-Victory NFTs act as any other CEP-78 NFT does. Holders have the right to do with them as they please within the bounds of the selected modalities.