Marktkapitalisierung: $2.1424T -3.74%
Volumen (24h): $123.4771B -14.55%
Angst- und Gier-Index:

16 - Extreme Angst

  • Marktkapitalisierung: $2.1424T -3.74%
  • Volumen (24h): $123.4771B -14.55%
  • Angst- und Gier-Index:
  • Marktkapitalisierung: $2.1424T -3.74%
Kryptos
Themen
Cryptospedia
Nachricht
Cryptostopics
Videos
Top Cryptospedia

Sprache auswählen

Sprache auswählen

Währung wählen

Kryptos
Themen
Cryptospedia
Nachricht
Cryptostopics
Videos

Wie erstelle ich einen NFT-Vertrag (ERC-721) von Grund auf?

ERC-721 mandates unique token IDs, owner tracking, and Transfer events; optional metadata via tokenURI enables rich NFTs—implemented securely using OpenZeppelin contracts.

Jan 22, 2026 at 03:40 am

Grundlegendes zu den ERC-721-Standardspezifikationen

1. ERC-721 definiert eine Reihe obligatorischer Funktionen und Ereignisse, die jeder konforme Vertrag implementieren muss, einschließlich OwnerOf , SafeTransferFrom und Approve .

2. Der Standard erzwingt eindeutige Token-Identifikatoren – jeder NFT muss zu jedem Zeitpunkt eine eindeutige uint256-ID haben, die genau einem Eigentümer zugeordnet ist.

3. Die Unterstützung von Metadaten ist optional, wird aber weit verbreitet; Die tokenURI -Funktion gibt einen URI zurück, der auf JSON verweist und Namen, Beschreibung und Bildlinks enthält.

4. Übertragungsereignisse müssen Übertragung mit den Parametern „von“, „zu“ und „tokenId“ ausgeben, um die Kompatibilität von Wallet und Explorer sicherzustellen.

5. Die Unterstützung der Aufzählung ist für die Basis-ERC-721 nicht erforderlich, aber viele Implementierungen fügen totalSupply und tokenByIndex für die Marktplatzindizierung hinzu.

Entwicklungsumgebung einrichten

1. Installieren Sie Node.js und npm, um Abhängigkeiten wie Hardhat oder Foundry für die lokale Kompilierung und Tests zu verwalten.

2. Initialisieren Sie ein neues Projekt mit npm init -y und installieren Sie OpenZeppelin Contracts über npm install @openzeppelin/contracts .

3. Konfigurieren Sie die Hardhat-Konfigurationsdatei für die Verbindung mit Sepolia oder dem lokalen Anvil-Netzwerk für die Bereitstellungssimulation.

4. Erstellen Sie eine Solidity-Datei mit dem Namen MyNFT.sol im Vertragsverzeichnis und importieren Sie die ERC721- und Ownable -Module von OpenZeppelin.

5. Definieren Sie Konstruktorargumente wie Name und Symbol und rufen Sie dann den übergeordneten ERC721-Konstruktor mit diesen Werten auf.

Schreiben der Kernvertragslogik

1. Fügen Sie eine _baseTokenURI- Statusvariable hinzu, um den Stammpfad für Metadaten zu speichern, der nur vom Vertragseigentümer aktualisiert wird.

2. Überschreiben Sie die tokenURI- Funktion, um _baseTokenURI mit der tokenId-Zeichenfolge zu verketten und sicherzustellen, dass IPFS- oder HTTP-Endpunkte korrekt aufgelöst werden.

3. Implementieren Sie eine Mint- Funktion, die _safeMint verwendet, um neue Token ausschließlich msg.sender zuzuweisen und interne Zähler zu erhöhen.

4. Führen Sie onlyOwner- Modifikatoren für sensible Funktionen wie setBaseURI ein, um unbefugte Metadatenmanipulation zu verhindern.

5. Fügen Sie eine „supportsInterface“ -Überschreibung ein, um „true“ für die Schnittstellen-IDs 0x80ac58cd (ERC-721) und 0x5b5e139f (ERC-721 Metadaten) zurückzugeben.

Kompilieren und Bereitstellen im Testnet

1. Führen Sie die Npx-Hardhat-Kompilierung aus, um ABI und Bytecode zu generieren. Stellen Sie sicher, dass keine Syntax- oder Vererbungsfehler auftreten.

2. Schreiben Sie ein Bereitstellungsskript, das den Vertragskonstruktor mit „CryptoPanda“ und „CPANDA“ als Argumenten aufruft.

3. Verwenden Sie npx hardhat run scripts/deploy.js --network sepolia, um die Transaktion nach der Finanzierung der Deployer-Adresse zu übertragen.

4. Überprüfen Sie den Vertrag auf Etherscan Sepolia mit derselben Compilerversion und denselben Optimierungseinstellungen, die während der Kompilierung verwendet wurden.

5. Interagieren Sie mit dem bereitgestellten Vertrag über Etherscans „Write as Proxy“ oder MetaMask-verbundene dApp-Schnittstellen, um Prägung und Übertragungen auszulösen.

Häufig gestellte Fragen

F: Kann ich den TokenURI nach dem Prägen ändern? A: Ja – wenn Ihr Vertrag dies über eine Setter-Funktion nur für den Eigentümer zulässt. Eine rückwirkende Änderung wirkt sich jedoch auf alle zuvor geprägten Token aus, es sei denn, Sie speichern pro Token URIs.

F: Was passiert, wenn zwei Token dieselbe ID haben? A: Der Vertrag wird während der Prägung aufgrund doppelter Zuordnungsprüfungen, die durch die _owners -Zuordnungsvalidierung von OpenZeppelin erzwungen werden, zurückgesetzt.

F: Sind die Benzinkosten für ERC-721 höher als für ERC-20? A: Ja – ERC-721-Vorgänge erfordern individuelle Speicherschreibvorgänge pro Token-ID, was zu einem deutlich höheren Gasverbrauch für das Prägen und Übertragen führt.

F: Muss ich Lizenzgebühren in den Vertrag aufnehmen? A: Nein – Lizenzgebühren sind nicht Teil der ERC-721-Spezifikation. Plattformen wie OpenSea lesen Lizenzinformationen aus der Funktion royaltyInfo , wenn sie über ERC-2981 implementiert werden.

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.

Verwandtes Wissen

Wie kann man bei Bybit für den BTC-Handel zwischen linearen und inversen unbefristeten Verträgen wählen?

Wie kann man bei Bybit für den BTC-Handel zwischen linearen und inversen unbefristeten Verträgen wählen?

Jun 06,2026 at 02:54am

Vertragsabwicklungsmechanismen 1. Lineare unbefristete Verträge auf Bybit werden in USDT abgewickelt, was bedeutet, dass alle Gewinn- und Verlustberec...

Wie richte ich Risikomanagementregeln auf Bybit ein, um meinen maximalen täglichen Verlust zu begrenzen?

Wie richte ich Risikomanagementregeln auf Bybit ein, um meinen maximalen täglichen Verlust zu begrenzen?

Jun 04,2026 at 04:40pm

Konfiguration des Verlustlimits auf Kontoebene 1. Melden Sie sich per Web- oder Mobilanwendung mit Zwei-Faktor-Authentifizierung bei Ihrem Bybit-Konto...

Wie aktiviere ich den Portfolio-Margin-Modus auf Binance, um meine Margin-Anforderungen zu reduzieren?

Wie aktiviere ich den Portfolio-Margin-Modus auf Binance, um meine Margin-Anforderungen zu reduzieren?

Jun 05,2026 at 04:59am

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...

Wie kann ich meine offenen Futures-Positionen von Binance zu Bybit migrieren, ohne sie zu schließen?

Wie kann ich meine offenen Futures-Positionen von Binance zu Bybit migrieren, ohne sie zu schließen?

Jun 04,2026 at 03:59am

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...

Wie geht man mit den steuerlichen Auswirkungen von Gewinnen aus dem Krypto-Futures-Handel in den USA um?

Wie geht man mit den steuerlichen Auswirkungen von Gewinnen aus dem Krypto-Futures-Handel in den USA um?

May 29,2026 at 06:19pm

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt eine feste Angebotsobergrenze von 21 Millionen Münzen, wobei neue Einheiten durch Bl...

Wie nutzt man den Bybit-Handelsbot-Marktplatz, um profitable Futures-Strategien zu finden?

Wie nutzt man den Bybit-Handelsbot-Marktplatz, um profitable Futures-Strategien zu finden?

Jun 02,2026 at 04:39am

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...

Wie kann man bei Bybit für den BTC-Handel zwischen linearen und inversen unbefristeten Verträgen wählen?

Wie kann man bei Bybit für den BTC-Handel zwischen linearen und inversen unbefristeten Verträgen wählen?

Jun 06,2026 at 02:54am

Vertragsabwicklungsmechanismen 1. Lineare unbefristete Verträge auf Bybit werden in USDT abgewickelt, was bedeutet, dass alle Gewinn- und Verlustberec...

Wie richte ich Risikomanagementregeln auf Bybit ein, um meinen maximalen täglichen Verlust zu begrenzen?

Wie richte ich Risikomanagementregeln auf Bybit ein, um meinen maximalen täglichen Verlust zu begrenzen?

Jun 04,2026 at 04:40pm

Konfiguration des Verlustlimits auf Kontoebene 1. Melden Sie sich per Web- oder Mobilanwendung mit Zwei-Faktor-Authentifizierung bei Ihrem Bybit-Konto...

Wie aktiviere ich den Portfolio-Margin-Modus auf Binance, um meine Margin-Anforderungen zu reduzieren?

Wie aktiviere ich den Portfolio-Margin-Modus auf Binance, um meine Margin-Anforderungen zu reduzieren?

Jun 05,2026 at 04:59am

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...

Wie kann ich meine offenen Futures-Positionen von Binance zu Bybit migrieren, ohne sie zu schließen?

Wie kann ich meine offenen Futures-Positionen von Binance zu Bybit migrieren, ohne sie zu schließen?

Jun 04,2026 at 03:59am

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...

Wie geht man mit den steuerlichen Auswirkungen von Gewinnen aus dem Krypto-Futures-Handel in den USA um?

Wie geht man mit den steuerlichen Auswirkungen von Gewinnen aus dem Krypto-Futures-Handel in den USA um?

May 29,2026 at 06:19pm

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt eine feste Angebotsobergrenze von 21 Millionen Münzen, wobei neue Einheiten durch Bl...

Wie nutzt man den Bybit-Handelsbot-Marktplatz, um profitable Futures-Strategien zu finden?

Wie nutzt man den Bybit-Handelsbot-Marktplatz, um profitable Futures-Strategien zu finden?

Jun 02,2026 at 04:39am

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...

Alle Artikel ansehen

User not found or password invalid

Your input is correct