Abstract
ERC-4786 provides an extension for ERC-721 to be composed with other Tokens (ERC-721/ERC-1155/ERC-20). This applies to the creation of a composable/graph NFT. In this standard, the ERC-721 Token is a first class citizen and can freely compose with other Tokens. The result is get an interesting NFT with a graph structure.
Motivation
The ability to compose opens up many more possibilities for ERC-721, here are some possible scenarios:
- assets owned by an address can be transformed into assets owned by an NFT.
- Linking an avatar NFT to an ENS
- an avatar/game character composed from different NFTs
- a number of assets packaged with an NFT and sold together, etc.
ERC-998 attempts to solve this problem, but ERC-998 introduces more complexity to the composability, and the main advantages of the standard over ERC-998 are:
- there is no top-down/bottom-up concept
- the function names are closer to those of the regular operations graph structure (link/updateTarget/unlink), which makes the standard easier to understand
- the function names are sufficiently uniform when dealing with different Tokens (linkERCx/updateERCxTarget/unlinkERCx)
- easy to extend
Links:
PR: ERC-4786: Link Common Token to ERC-721 by poria-cat · Pull Request #4786 · ethereum/EIPs · GitHub
Reference implementation: GitHub - poria-cat/ERC-4786