Non-Fungible Token
Abstract
The following standard describes the basic idea of distributed non-fungible token architecture.
Motivation
The suggested standard differs considerably from Ethereum ERC721 and other smart contract token standards with single registry because of its distributed nature related to Everscale blockchain particularities. Given that Everscale has a storage fee, TIP4 is fully distributed and implies separate storage of each NFT.
Architecture
General information about NFT collection is stored in the NFT collection contract. Each NFT deployed in separate smart contracts and links to NFT collection contract Smart contract architecture based on:
- Consider asynchronous type of Everscale blockchain. Use callbacks and asynchronous getters;
- Standardizes one NFT - one smart contract.
- Gas fee management practicals.
- Use TIP-6.1
(Status:Review) Non-Fungible Token (TIP-4.1)
General information about NFT collection and NFT tokens. All NFT must implement TIP-4.1
(Status:Review) Non-Fungible Token JSON Metadata (TIP-4.2)
General information about NFT metadata. TIP-4.2 is optional, but can be used for displaying NFT on marketplaces, wallets and web.
(Status:Review) On-chain indexes (TIP-4.3)
On-chain Indexes solves easy and fast searching any data in blockchain. TIP-4.3 is optional, but can be use for find all your NFT with one dApp query.
(Status:Draft) On-chain storage (TIP-4.4)
Using the Storage contract, you can store NFT-related bytes in blockchain. TIP-4.4 is optional, but can be used for fault tolerance. If off-chain services are unavailable, the user will view NFT-related bytes, because it is stored on-chain.
(Status:Draft) Don't Be Evil NFT licensing (TIP-4.5)
The standard adds the support of Can't Be Evil NFT licenses introduced by Andreessen.Horowitz. TIP-4.5 is optional, but can be used for clarifying the legal basis of NFT usage by the owner.
(Status:Draft) Upgradeable NFT (TIP-4.6)
The standard describes the operation of upgradeable NFT contracts. TIP-4.6 is optional, but can be used for changing NFT code in case an error is found in it or there is a need to add new functionality.
Implementation
grandbazar.io implementation
Authors
Author | Command |
---|---|
Aleksand Aleksev | grandbazar.io |
Aleksandr Khramtsov | broxus |
Vladislav Ponomarev | broxus |
Andrey Nedobylskiy | svoi.dev |
Anton Platonov | community member |
Nikita | numiz.org |
Oleg Varnov | numiz.org |
Slava Semenchuk | scalepunks.com |
Implementation
itgold implementation
- MIT licensed.
- A library of modular, reusable smart contracts.
- Samples and tests here