EIP-4786: Link Common Token to ERC-721

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:

  1. assets owned by an address can be transformed into assets owned by an NFT.
  2. Linking an avatar NFT to an ENS
  3. an avatar/game character composed from different NFTs
  4. 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:

  1. there is no top-down/bottom-up concept
  2. the function names are closer to those of the regular operations graph structure (link/updateTarget/unlink), which makes the standard easier to understand
  3. the function names are sufficiently uniform when dealing with different Tokens (linkERCx/updateERCxTarget/unlinkERCx)
  4. easy to extend

Links:
PR: https://github.com/ethereum/EIPs/pull/4786
Reference implementation: https://github.com/poria-cat/ERC-4786

:beers:

This is a thread for discussion of EIP, and I would collect to collect your feedback.
Many thanks!
:beers: