Analyse approfondie des principes sous-jacents de l'ERC-6551

Écrit par : @0xCygaar Traduit par : MetaCat

Cet article est une brève description de la façon dont ERC-6551 permet à n'importe quel NFT de posséder n'importe quel type d'actif cryptographique.

Commençons par ce qui se passe réellement avec la plupart des NFT.

Les NFT sur Ethereum ne sont que des entrées de données dans des contrats intelligents qui vous indiquent à qui appartient le NFT, qui peut transférer le NFT et à quoi ressemblent les métadonnées du NFT. Voici une fonction qui renvoie des informations sur un NFT donné :

Obtenir le propriétaire d'un NFT donné

Obtenir le tokenURI d'un NFT donné

Obtenez l'adresse du portefeuille où le NFT donné est approuvé

Lorsque vous frappez NFT, vous définissez simplement la valeur du propriétaire de la saisie de données (adresse du portefeuille). Lorsque vous transférez un NFT, vous modifiez simplement la valeur du propriétaire (adresse du portefeuille). Les deux images suivantes sont des codes associés des paramètres de propriété dans le contrat ERC721 :

La fonction menthe dans le contrat ERC721

La fonction de transfert dans le contrat ERC721

La plupart des contrats NFT sont aussi simples que cela. Comme nous l'avons vu plus haut, il n'existe pas de code permettant à ces NFT de posséder d'autres NFT, tokens ETH ou ERC20.

Les contrats intelligents ne peuvent pas être modifiés, alors comment ERC-6551 permet-il à n'importe quel NFT de posséder d'autres actifs ?

La réponse est : registre + portefeuille de contrats.

Un portefeuille de contrats intelligents (portefeuille CA) est simplement un contrat intelligent qui peut recevoir NFT, ERC20 ou ETH et effectuer en outre des transactions arbitraires. Ces portefeuilles de contrats ont leurs propres adresses (comme tous les contrats intelligents).

Si vous n'êtes pas familier avec les registres, vous pouvez les considérer comme des contrats intelligents individuels qui stockent des informations. Le registre ERC-6551 contient : des informations indiquant quels NFT sont mappés à quels portefeuilles de contrats intelligents, et il utilise également un proxy pour créer un portefeuille de contrats intelligents (peu importe si vous le savez).

Code de contrat de registre ?

Par exemple, Azuki #4567 peut correspondre à un portefeuille de contrat intelligent à l'adresse 0x243F4E0d556EFD1006c52E85A6ddFb6748A4C0b7. Un NFT peut contrôler plusieurs comptes de contrat, mais chaque compte de contrat n'appartient qu'à un seul NFT, comme illustré dans la figure ci-dessous :

Eh bien, nous avons maintenant un registre qui peut créer des portefeuilles pour les NFT et lier les NFT aux portefeuilles, et ce portefeuille lié aux NFT peut maintenant être utilisé comme un portefeuille normal. Ce portefeuille peut transférer des ETH, acheter des jetons NFT ou Swap ERC20, bien sûr la transaction doit être initiée par le propriétaire NFT.

Je tiens à répéter que ces portefeuilles liés à NFT sont des contrats intelligents. Ils sont similaires aux portefeuilles multi-signatures en ce sens que quelqu'un doit appeler une fonction sur le contrat pour que le portefeuille effectue certaines actions. Pour les portefeuilles ERC-6551, le propriétaire NFT appellera uteCall sur le portefeuille pour lancer la transaction.

Alors, qu'y a-t-il de si spécial à propos de ces portefeuilles liés à NFT ? Lorsque le propriétaire qui contrôle le NFT change, le contrôle du portefeuille change également simultanément. Contrôler NFT signifie que vous contrôlez tout dans le portefeuille lié à NFT, et NFT passera d'un actif unique à un ensemble d'actifs groupés.

TL; DR : ERC-6551 permet à tous les NFT d'avoir un portefeuille en utilisant un registre et un portefeuille de contrats intelligents. Le registre crée un portefeuille de contrats et associe le portefeuille de contrats au NFT. Les portefeuilles contractuels peuvent contenir d'autres actifs, et seul le propriétaire du NFT peut effectuer des transactions sur ce portefeuille.

Voir l'original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Récompense
  • Commentaire
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)