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
Learn More
  • 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

Join the community to discuss.