September 14, 2022
Introduction of EIP-3523: Semi-Fungible Token
On September 6, 2022, Solv Protocol announced that the proposal it raised, EIP-3525, which proposed creating a standard for semi-fungible tokens(SFT), was approved, and ERC-3525 has officially become a final standard for Ethereum.
Semi-fungible tokens will have the quantitative features of ERC-20 and qualitative attributes of ERC-721. Compared with the ERC-721 standard, the main addition is the new mapping relationship between mapping(uint256 => uint256) internal _values and mapping(uint256 => uint256) internal _slots, which represent the number of tokens and asset types respectively. The main differences are in the minting, transferring, and burning functions.
Minting function
The function passes in three parameters, which are address to_, uint256 tokenId_, and uint256 slot_. The function first calls the mint function of ERC721 to mint the token, and later deposits the asset type into the _slots mapping relationship. There is also a mint quantity function that first calls the mint function and later deposits the mint quantity into the _values mapping relationship. In this way, the ERC721 tokens are given a quantity as well as a asset type property.
Transfer function
The transaction of SFT is similar to other tokens. The difference is that the transaction target of both sides of SFT is in tokenId. There are two cases of transfers, the first is to mint for the target address when the target is an address, and then pass the tokenId of both sides and the number of transactions into the function; the second one is when the transaction target is the tokenId, then the transfer function will be called directly.
The transfer function will first make some conditional judgments, after which the _values mapping relationship will be added or subtracted accordingly to make transactions
Burning function
This function first calls the ERC721 standard _burn function to burn the corresponding tokens, followed by clearing the _slots to _values mapping relationship corresponding to the tokenId.
Summary
The new standard retains the descriptive attributes of ERC721 tokens and the quantitative attributes of ERC20 tokens, allowing transactions, splits and merges between the same token types (slots), enabling fungible tokens to be split.
Related Project
Related Project Secure Score
Guess you like
Ethereum PoS and PoW Security
September 13, 2022
Beosin and XT.COM have entered into a strategic partnership
September 20, 2022
Beosin: $160 Million Lost in Wintermute’s Exploit from Using Profanity
September 21, 2022
Beosin Web3.0 Classroom: Cross-chain Bridge (I) — Introduction of Polkadot
September 23, 2022