Heute, als ich mit meinen Fans Wissen austauschte, fragte er mich nach den Grundlagen von NFTs, also schreibe ich einen Artikel, um ihn mit euch zu teilen! (Ein bisschen technisch, haha)

Außerdem denke ich, dass das Coverbild des Artikels nicht unbedingt mit dem Thema zusammenhängen muss, ich werde ein paar schöne Bilder für euch hinzufügen!

Grundkonzept

1.1 Fungible und nicht fungible Token

ERC-721:Nur für nicht fungible Token.

ERC-1155:Erlaubt sowohl fungible als auch nicht fungible Token und ermöglicht neue Konzepte wie semi-fungible Token, zum Beispiel können fungible Token in nicht fungible Token umgewandelt werden und umgekehrt.

1.2 Massenübertragung

ERC-721:Unterstützt nur die Übertragung eines Tokens pro Transaktion.

ERC-1155: Unterstützt die Übertragung mehrerer Token-IDs in einer einzigen Transaktion.

(Da jede Ethereum-Transaktion etwa 15-30 Sekunden dauert, benötigt ERC-721 viel Zeit, um Token zu übertragen, während ERC-1155 Hunderte verschiedener Token in einem Block senden kann)

ERC-1155 verwendet eine neue Methode zur Definition von Tokens, die Gegenstände werden in einem zentralen Smart Contract gespeichert und nehmen nur wenig Platz ein, um sich gegenseitig zu unterscheiden. Jeder Gegenstandstoken kann in ein "Token-Paket" zusammengeführt werden, das auch eine eigene unabhängige ID hat (reduziert die Menge an redundanten Bytecode auf der Blockchain).

1.3 Datenebene

ERC-721: Erfordert, dass für jeden neuen Token ein neuer Smart Contract bereitgestellt wird (zum Beispiel, einen Vertrag für CryptoKitties zu erstellen und einen anderen Vertrag für CryptoCuties usw.).

ERC-1155: Ein Smart Contract kann unzählige Arten von Token aufnehmen.

Es ist nicht möglich, ERC-1155 in einem Contract zu sperren, der ERC-1155 nicht unterstützt. Token können nur an Contracts gesendet werden, die ERC-1155 unterstützen! Dies verhindert den versehentlichen Verlust von Tokens. Wenn der Empfänger ERC-1155-Token ablehnt, wird dein Token sofort wiederhergestellt.

1.4 Tokenübertragung ruft Smart Contract auf

Das Senden von ERC-1155-Token an einen Smart Contract kann eine Reihe von Funktionen und Ereignissen auf der Blockchain auslösen. Zum Beispiel erlauben Börsen Benutzern, Token direkt zu senden und sofort andere Token auf der Blockchain auszutauschen.

Da diese Token streng den Regeln von 'onERC1155Received' folgen, ist ERC-1155 zu 100% zuverlässig.

1.5 Lokalisierung

ERC-721: Unterstützt nur eine Sprache.

ERC-1155: Unterstützt die Lokalisierung aller Metadaten (z.B. Tokenname, Beschreibung, sogar Tokenbilder), sodass alle Token universell sind.

1.6 Vererbbare Metadaten

ERC-721: Hat veraltete Metadaten wie 'symbol' und 'name' beibehalten, aber das ist für viele moderne Token nicht notwendig.

ERC-1155: Speichert alle Metadaten in URIs (abgekürzt für 'Uniform Resource Identifier') auf dem Web oder IPFS.

1.7 ID-Ersetzung

ERC-721: Da nur statische Metadaten unterstützt werden, muss jede Token-ID von einem Smart Contract gespeichert und verwaltet werden, der ihre Metadaten-URI enthält.

ERC-1155: Der Vertrag kann auf unzählige Token-URIs verweisen, ohne zusätzliche Daten on-chain speichern zu müssen. Es kann sogar verwendet werden, um auf einen Webservice zu verweisen, der dynamisch Token-JSON für jeden Token in der Datenbank generiert.

Vergleich der Schnittstellen der Verträge

2.1 ERC721

2.2 ERC1155

2.3 Fazit

Es ist deutlich zu sehen, dass ERC1155 auf der bestehenden ERC721-Basis viele Schnittstellen für Batch-Transaktionen hinzugefügt hat. Schauen wir uns die ERC1155-Implementierung in OpenZeppelin an, wo die Mint-Funktion den Parameter 'amount' hinzufügt. Man kann sich leicht vorstellen, dass, wenn 'amount' = 1, bedeutet, dass dieser Token insgesamt nur einmal ausgegeben wird, dann ist dieser Token ähnlich wie ein NFT von ERC721.

Der MarkDown-Syntax, der im Backend des Binance Square Artikel-Editors unterstützt wird, ist nicht ganz vollständig, sodass Codeblöcke nur in meinem eigenen Editor aufgenommen werden können. Es wird nicht vollständig angezeigt, aber es ist ausreichend!

Wenn du an diesem Wissen interessiert bist, kannst du mir folgen und in meinen Livestream kommen, um zu lernen!