-
bitcoin $75771.540085 USD
-1.86% -
ethereum $2399.709795 USD
-3.26% -
tether $0.999204 USD
-0.06% -
bnb $712.217256 USD
-0.77% -
xrp $1.292312 USD
-7.62% -
usd-coin $0.999959 USD
0.00% -
solana $97.051620 USD
-3.70% -
tron $0.334571 USD
-0.90% -
zcash $1186.253570 USD
3.75% -
hyperliquid $77.520171 USD
-1.88% -
dogecoin $0.079968 USD
-3.28% -
monero $508.293198 USD
-1.02% -
unus-sed-leo $8.883426 USD
-0.86% -
chainlink $10.791602 USD
-5.36% -
cardano $0.194877 USD
-4.63%
Wie schreibe ich einen Smart Contract für NFTs? (Grundlagen der Solidität)
ERC-721 is Ethereum’s NFT standard, ensuring uniqueness via `tokenId`, enforcing ownership with `ownerOf`/`transferFrom`, and supporting metadata through `tokenURI`.
Feb 27, 2026 at 05:40 am
Den ERC-721-Standard verstehen
1. ERC-721 ist ein weit verbreiteter Ethereum-Token-Standard, der speziell für nicht fungible Token entwickelt wurde.
2. Es definiert Kernfunktionen wie „ownerOf“ , „transferFrom “ und „approve“ , um den eindeutigen Asset-Eigentum zu verwalten.
3. Jeder ERC-721-Vertrag muss die IERC721- Schnittstelle implementieren und standardisierte Ereignisse wie Transfer und Genehmigung ausgeben.
4. Die Metadatenunterstützung über die tokenURI- Funktion ermöglicht die Verknüpfung jedes NFT mit JSON-Dateien, die Namen, Beschreibung und Bild-URLs enthalten.
5. Der Standard erzwingt die Einzigartigkeit, indem er jedem Token innerhalb desselben Vertrags eine eindeutige uint256-Token-ID zuweist.
Einrichten der Entwicklungsumgebung
1. Installieren Sie Node.js und npm, um Abhängigkeiten zu verwalten und lokale Tools wie Hardhat oder Truffle auszuführen.
2. Initialisieren Sie ein neues Projekt mit npm init und installieren Sie OpenZeppelin Contracts mit npm install @openzeppelin/contracts .
3. Konfigurieren Sie ein Hardhat-Projekt mit npx hardhat und wählen Sie die Option „Beispielprojekt“ aus, um Boilerplate-Dateien zu generieren.
4. Erstellen Sie unter Contracts/ eine Solidity-Datei mit dem Namen MyNFT.sol und importieren Sie die ERC721- Implementierung von OpenZeppelin.
5. Richten Sie ein lokales Testnetzwerk mit Hardhat Network ein oder stellen Sie über Alchemy- oder Infura-API-Schlüssel eine Verbindung zu einem öffentlichen Testnetzwerk wie Sepolia her.
Schreiben der Kernvertragslogik
1. Erklären Sie den Vertrag mit dem Vertrag MyNFT ist ERC721, ERC721URIStorage, um wesentliche Funktionen und Metadatenspeicherung zu erben.
2. Definieren Sie einen Konstruktor , der Namens- und Symbolargumente an den übergeordneten ERC721-Konstruktor übergibt und eine Eigentümeradresse festlegt.
3. Implementieren Sie eine Mint- Funktion, die _safeMint verwendet, um einer angegebenen Adresse eine neue tokenId zuzuweisen, und deren URI über _setTokenURI speichert.
4. Fügen Sie eine Zugriffskontrolle hinzu, sodass nur der Vertragseigentümer mint aufrufen kann, indem Sie den Ownable -Modifikator von OpenZeppelin verwenden.
5. Setzen Sie Minting-Limits durch, indem Sie das Gesamtangebot mit einer privaten uint256 -Variablen verfolgen und bei Überschreiten der Obergrenze zurücksetzen.
Überlegungen zu Tests und Bereitstellung
1. Schreiben Sie Testskripte in JavaScript oder TypeScript unter Verwendung der integrierten Ether -Bibliothek von Hardhat, um das Prägen, Übertragen und Abfragen von Token zu simulieren.
2. Überprüfen Sie das Verhalten mit Zusicherungen, indem Sie prüfen, ob „ownerOf“ die richtige Adresse zurückgibt und „tokenURI“ mit den erwarteten Metadatenpfaden übereinstimmt.
3. Stellen Sie den Vertrag mit dem Befehl npx hardhat run scripts/deploy.js --network sepolia von Hardhat bereit, nachdem Sie die Netzwerkanmeldeinformationen konfiguriert haben.
4. Verwenden Sie das Verifizierungstool von Etherscan, um Quellcode, Compiler-Version und Konstruktorargumente zur öffentlichen Transparenz einzureichen.
5. Speichern Sie alle Token-URIs in einer dezentralen Infrastruktur wie IPFS oder Arweave, um eine dauerhafte, manipulationssichere Verfügbarkeit der Metadaten sicherzustellen.
Häufig gestellte Fragen
F: Kann ich den TokenURI nach dem Prägen ändern? A: Ja, wenn Ihr Vertrag ERC721URIStorage erbt und Sie eine Funktion mit entsprechender Zugriffskontrolle implementieren, um _setTokenURI aufzurufen.
F: Was passiert, wenn zwei Token im selben Vertrag identische Token-IDs haben? A: Das ist unmöglich – ERC-721 verlangt, dass jede Token-ID innerhalb des Vertrags global eindeutig ist; Doppelte Zuweisungen werden zurückgesetzt.
F: Muss ich meine eigene unterstütztInterface -Funktion schreiben? A: Nein – die ERC721- Implementierung von OpenZeppelin enthält ein kompatibles unterstütztInterface , das für 0x80ac58cd (ERC-721) und 0x5b5e139f (ERC-721Metadata) „true“ zurückgibt.
F: Ist es sicher, transferFrom zu verwenden, ohne den Genehmigungsstatus zu überprüfen? A: Die OpenZeppelin ERC721- Implementierung übernimmt alle Genehmigungsvalidierungen intern; Der direkte Aufruf von transferFrom ist bei korrekter Verwendung sicher.
Haftungsausschluss:info@kdj.com
Die bereitgestellten Informationen stellen keine Handelsberatung dar. kdj.com übernimmt keine Verantwortung für Investitionen, die auf der Grundlage der in diesem Artikel bereitgestellten Informationen getätigt werden. Kryptowährungen sind sehr volatil und es wird dringend empfohlen, nach gründlicher Recherche mit Vorsicht zu investieren!
Wenn Sie glauben, dass der auf dieser Website verwendete Inhalt Ihr Urheberrecht verletzt, kontaktieren Sie uns bitte umgehend (info@kdj.com) und wir werden ihn umgehend löschen.
-
ZEC Jetzt handeln$1331.81
18.00%
-
RAY Jetzt handeln$1.37
11.66%
-
ARB Jetzt handeln$0.1600
10.23%
-
LIT Jetzt handeln$4.45
8.62%
-
DASH Jetzt handeln$56.15
7.85%
-
NEAR Jetzt handeln$2.52
5.80%
- Fed-Zinssatz, Oktober-Zinssatz und Zinsprognosewahrscheinlichkeiten: Eine Gratwanderung für die Märkte
- 2026-09-17 05:00:01
- Fed-Zinsen steigen um 25 Basispunkte, Bitcoin reagiert angesichts der wirtschaftlichen Unsicherheit vorsichtig
- 2026-09-17 04:45:01
- Eggrag Crypto und die XRP-Armee bewältigen die Unsicherheit: Ein strategischer 30-Prozent-Ausverkauf inmitten der Abstimmung zum CLARITY Act
- 2026-09-17 04:50:01
- Zcash-Preisanstieg: Zinserhöhung der Fed und institutionelle Begeisterung treiben ZEC in die Höhe, was kommt als nächstes?
- 2026-09-17 04:55:01
- Dave Ramsey wägt ab: Krypto vs. hochverzinsliche Ersparnisse inmitten finanzieller Hürden
- 2026-09-16 20:35:01
- Robinhood-Ingenieure wegen Betrugs mit Krypto-Listing und Hyperliquid-Handel erwischt
- 2026-09-16 13:40:01
Verwandtes Wissen
Was sind NFT-Ökosystem-Token? Warum führen NFT-Projekte ihre eigenen Token ein?
Aug 25,2026 at 09:59pm
Definition und Kernfunktionalität 1. NFT-Ökosystem-Token sind native Utility- oder Governance-Token, die von Plattformen, Marktplätzen oder Protokolle...
Was ist ein NFT-Dienstprogramm? Was bekommen Sie eigentlich außer dem digitalen Asset?
Aug 21,2026 at 09:40am
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...
Was ist ein dynamischer NFT? Können sich das Bild oder die Metadaten eines NFT im Laufe der Zeit ändern?
Aug 31,2026 at 06:20pm
Definition und Kernmechanismus 1. Ein dynamischer NFT ist ein nicht fungibler Token, dessen Metadaten nach dem Prägen programmgesteuert veränderbar si...
Was ist ein NFT-Drop? Wie findet man neue NFT-Kollektionen, bevor sie ausverkauft sind?
Aug 23,2026 at 02:40am
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...
Was ist eine kostenlose NFT-Mint? Ist „kostenlos“ nach den Benzingebühren wirklich kostenlos?
Aug 22,2026 at 10:00am
Marktvolatilitätsmuster 1. Bitcoin Preisschwankungen überschreiten innerhalb eines 24-Stunden-Fensters häufig 5 % bei Ereignissen mit hoher Liquidität...
Was ist ein NFT-Mint-Pass? Warum ist bei manchen Projekten vor dem Minting eines erforderlich?
Aug 29,2026 at 09:00am
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt eine feste Angebotsobergrenze von 21 Millionen Münzen, wobei neue Einheiten durch Bl...
Was sind NFT-Ökosystem-Token? Warum führen NFT-Projekte ihre eigenen Token ein?
Aug 25,2026 at 09:59pm
Definition und Kernfunktionalität 1. NFT-Ökosystem-Token sind native Utility- oder Governance-Token, die von Plattformen, Marktplätzen oder Protokolle...
Was ist ein NFT-Dienstprogramm? Was bekommen Sie eigentlich außer dem digitalen Asset?
Aug 21,2026 at 09:40am
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...
Was ist ein dynamischer NFT? Können sich das Bild oder die Metadaten eines NFT im Laufe der Zeit ändern?
Aug 31,2026 at 06:20pm
Definition und Kernmechanismus 1. Ein dynamischer NFT ist ein nicht fungibler Token, dessen Metadaten nach dem Prägen programmgesteuert veränderbar si...
Was ist ein NFT-Drop? Wie findet man neue NFT-Kollektionen, bevor sie ausverkauft sind?
Aug 23,2026 at 02:40am
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...
Was ist eine kostenlose NFT-Mint? Ist „kostenlos“ nach den Benzingebühren wirklich kostenlos?
Aug 22,2026 at 10:00am
Marktvolatilitätsmuster 1. Bitcoin Preisschwankungen überschreiten innerhalb eines 24-Stunden-Fensters häufig 5 % bei Ereignissen mit hoher Liquidität...
Was ist ein NFT-Mint-Pass? Warum ist bei manchen Projekten vor dem Minting eines erforderlich?
Aug 29,2026 at 09:00am
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt eine feste Angebotsobergrenze von 21 Millionen Münzen, wobei neue Einheiten durch Bl...
Alle Artikel ansehen














