Skip to content

Design specification for hackathon Proof-of-Victory NFTs

Notifications You must be signed in to change notification settings

casper-ecosystem/PoV-design-spec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 

Repository files navigation

Proof-of-Victory NFT Design Specification

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.

Metadata

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
    }
  }
}

Modalities

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.

Additional Notes

  • 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.

About

Design specification for hackathon Proof-of-Victory NFTs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published