NFT-L is a Non Fungible Token of Learning. This is issued on the Learn Coin protocol. This is a technical specifications. [Click here for a layman description of how NFT-Ls will be used].
Here, we will be laying the specs of an NFT-L. As all things on Learn Coin protocol, this is a rolling specification.
An NFT-L has the following parts to it’s lifecycle
- Sign off
Anyone can raise a request to issue an NFT-L to a learner. This can be the teacher of the course, the learner themselves, or any other user.
A minted NFT-L is of any value only if it is issued. Minting an NFT-L is the equivalent of requesting an NFT-L to be issued.
This contains the
public key of the Minter and the
key of the course
Once the NFT-L has been minted, it has to be issued by the teacher. The teacher must issue the NFT-L if and only if the learner has completed the course to their satisfaction.
The issued NFT-L is now permanent. This can not be transferred or reverted. This NFT-L initially has a score of 0. Score is accrued by sign offs.
This contains the
public key and the
signature of the issuer
The last stage in the life cycle of the NFT-L creation is the sign off.
A sign off can be given by one of the escrow-ers in the course in which this NFT-L was issued. The sign off adds a score to the NFT-L.
If the course had amount E escrowed on it, and the escrow-er contributed to a portion P of it, the score that gets added because of the said escrow-er signing off
The maximum score that an NFT-L can have is 1.0
When the escrow-er signs off an NFT-L, the escrow they had on the course gets liquidated and credited to the teacher. This means that if the escrow-er signed off at least one NFT-L from the course, the escrow gets liquidated.
The NFT-L consists of the
Total accrued score by consequence of all the signoffs it has received
list of public keys of all accounts that signed off this NFT-L are maintained along with the
signature of each.
Below is the code for the contract deployed at (TODO : Contract Address), also referenced by nftl.learncoin.eth
NFT-L extends ERC-721 and EIP-1238
// Contract code coming soon