
NFTs erobern derzeit die Welt. Indem sie Waren und Dienstleistungen kommerzialisieren, verändern sie jeden Aspekt unserer Gesellschaft. Die enormen Umsätze, die diese NFTs in der Krypto-Community erzielt haben, haben den Markt für digitale Sammlerstücke und Kunst völlig auf den Kopf gestellt. Mit der zunehmenden Verwendung digitaler Token sind viele Token-Standards entstanden. In unserem letzten Artikel haben wir über den berüchtigten ERC-20-Token gesprochen. In dieser Lektion erfahren Sie, wie Sie einen ERC-721-Vertrag erstellen. Erfahren Sie mehr über den ERC-721-Standard und wie Sie einen Smart Contract entwickeln, indem Sie darüber lesen.
Eine Einführung in den sagenumwobenen ERC-721-Standard

ERC-721 gilt als der legendäre Standard, der ursprünglich den NFT-Hype auslöste. Der Erfolg dieses Standards ist auf mehrere bahnbrechende Eigenschaften zurückzuführen. Er macht es einfach, NFTs zwischen Konten zu übertragen und diese virtuellen Münzen gegen anderes Fiatgeld einzutauschen. Zu seinen Ideen gehören das Teileigentum an Privateigentum, Blockchain-Eigentum an Originalkopien digitaler Kunst, die Millionen von Dollar einbringen, und unverwechselbare Avatare, die der breiten Öffentlichkeit als Mitgliedschaft in einem exklusiven Club zur Verfügung gestellt werden.
Obwohl es manchmal mit ERC 20 verwechselt wird, erfordert ersteres die Erstellung eines Vertrags, der grundlegende Informationen wie einen Namen oder ein Symbol, eine eindeutige ID und in den meisten Fällen einen URI oder Uniform Resource Locator enthält. Die Tatsache, dass ERC 721 eindeutig ist und nicht kopiert werden kann, unterscheidet es von anderen ERCs. Das Halten und Austauschen von nicht treuhänderischen Token innerhalb von Smart Contracts wurde durch den ERC-721-Standard einfacher. Nachdem wir einige ERC-721-Grundlagen überprüft haben, erstellen wir nun einen Vertrag damit.
Einsatz von Open Zeppelin zum Entwurf eines einfachen ERC-721-Vertrags

Im folgenden Tutorial verwenden wir Remix als unsere Standard-IDE zum Schreiben, Kompilieren und Bereitstellen des Vertrags. Lassen Sie uns jetzt beginnen
Gehen Sie zu Remix und erstellen Sie eine neue Datei mit dem Namen „HelloWorld.sol“. Hier schreiben wir unseren Smart Contract
Bevor wir den Code initialisieren, müssen wir die Solidity-Compilerversion für unseren Vertrag mithilfe von Pragma zusammen mit der zugrunde liegenden Lizenz definieren:
// SPDX-Lizenzkennung:UNLICENSED
Pragma-Solidität >=0,8.0;
Nachdem wir die Version des Solidity-Compilers deklariert haben, importieren wir die entsprechenden Open Zeppelin-Bibliotheken, insbesondere ERC721, aus ihrer offiziellen Quelle.
Die ERC721-Bibliothek enthält die grundlegenden Definitionen, die erforderlich sind, damit ein Vertrag als ERC-721-konform gilt.
importiere „@openzeppelin/contracts/token/ERC721/ERC721.sol“;
Wir nennen unseren Vertrag Hellonft und erklären ihn als ERC-721-konform. Außerdem definieren wir das Symbol als HONFT.
Vertrag HelloWorld ist ERC721(“HelloWorld”, “HONFT”) {
Als nächstes initialisieren wir die Token-ID (eindeutige Kennung für jedes Token) auf 0.
uint Token-ID;
Wir erstellen eine Zuordnung mit der Adresse als Schlüssel und tokenMetaData als Wert.
Zuordnung (Adresse=>TokenMetaData[]) öffentlicher Eigentumsdatensatz;
Die tokenMetaData-Struktur ist so konzipiert, dass sie die Token-ID, den Zeitstempel und den Token-URI jedes Tokens an einem Ort speichert, sodass sie vollständig mit dem OwnershipRecord der Adressen verknüpft werden können.
Struktur tokenMetaData{uint tokenId;uint timeStamp;string tokenURI;}
Jetzt beginnen wir mit dem Schreiben unserer mintToken-Funktion. Durch das Minting kann sus verschiedene Assets tokenisieren. Wir prägen das Beispielbild im .png Format.
Funktion mintToken (Adresse Empfänger, String-Speicher-URL) public {
Wir verwenden jetzt die Methode _safeMint, um den aus dem ERC721-Vertrag importierten Prägevorgang zu initiieren und die Token-Metadaten an den Empfänger zu senden, um unsere eigenen Eigentumsdatensätze zu verwalten. Zur Vereinfachung haben wir dieselbe PNG-Datei als URI zum Prägen aller Token in unserem Vertrag fest codiert.
_safeMint(Empfänger, Token-ID); Eigentumsdatensatz[Empfänger].push(TokenMetaData(Token-ID, Block.Zeitstempel, URL)); Token-ID = Token-ID + 1; }}
Jetzt können Sie mit der Bereitstellung dieses Vertrags in jedem Testnetz fortfahren, einschließlich Remix. Der vollständige Vertrag sollte jetzt folgendermaßen aussehen:
// SPDX-Lizenzkennung:UNLICENSED
Pragma-Solidität >=0,8.0;
importiere „@openzeppelin/contracts/token/ERC721/ERC721.sol“;
Vertrag HelloWorld ist ERC721(„HelloWorld“, „HONFT“) { uint tokenId; Mapping(Adresse=>tokenMetaData[]) öffentlicher Eigentumsdatensatz;
Struktur tokenMetaData { uint tokenId; uint timeStamp; Zeichenfolge tokenURI; }
Funktion mintToken (Adresse des Empfängers, String-Speicher-URL) öffentlich { _safeMint (Empfänger, Token-ID); Eigentumsdatensatz [Empfänger].push (TokenMetaData (Token-ID, Block.Zeitstempel, URL)); Token-ID = Token-ID + 1; }}
Nach dem Aufruf der Funktion mintToken haben Sie Ihr allererstes NFT erfolgreich tokenisiert
Abschließende Gedanken

In dieser Lektion haben wir Sie durch die Erstellung Ihres NFT ERC-721-Vertrags mit Open Zeppelin geführt. Dieser Artikel frischt auch die Grundlagen und Begründungen der am häufigsten verwendeten Token-Standards auf. Wir hoffen, dass die hier enthaltenen Informationen Ihnen beim Entwurf Ihres ersten NFT-Smart-Vertrags helfen. Seien Sie wie immer zuversichtlich und haben Sie Spaß beim Programmieren!
„Erstellen eines einfachen ERC-721-Smart-Contracts“ wurde ursprünglich in CryptoStars auf Medium veröffentlicht, wo die Leute die Unterhaltung fortsetzen, indem sie diese Geschichte hervorheben und darauf reagieren.
