Geben Sie das PRC-721-Token frei

Bevor Sie beginnen, müssen Sie Folgendes vorbereiten:

  1. Metamask Wallet

  2. Mindestens 1 PSC haben

Hinzufügen von Dateien zu IPFS

Wir müssen das Kunstwerk ausrichten, das NFT entspricht, und eine Metadatendatei erstellen.Dazu verwenden wir IPFS-ein verteiltes System für Peer-to-Peer-Dateispeicher und Freigabe.Befolgen Sie die Installationsanweisungen in der IPFS -Dokumentation, um die IPFS -CLI basierend auf Ihrem Betriebssystem herunterzuladen und zu installieren.

Im Folgenden finden Sie die Schritte zum Hosting von Bild- und Metadatendateien:

Erstellen Sie das IPFS -Repo.Initialisieren Sie das IPFS -Repo, indem Sie Folgendes in einem Terminalfenster eingeben

 $ ipfs init

Starten Sie den IPFS -Daemon.Öffnen Sie ein separates Terminalfenster und geben Sie Folgendes ein:

$ ipfs daemon

Um IPFS ein Bild hinzuzufügen, gehen Sie zum ersten Terminalfenster und fügen Sie das Bild zu IPFS hinzu (hier ist es art.png).

$ ipfs add art.png

Kopieren Sie den Hash ab QM und fügen Sie die https://ipfs.io/ipfs/prefix hinzu, es muss so aussehen:https://ipfs.io/ipfs/QmdrswwrbcfPeknN2BRLVmyWbWRsKSC3vSNhV9Gkvhk1mL.

Fügen Sie eine JSON-Datei in IPFs hinzu.Erstellen Sie eine JSON-Datei, nft.json und speichern Sie sie im selben Verzeichnis wie das Bild.JSON-Dateiformat:

{
    "name": "NFT Art",
    "description": "This image shows the true nature of NFT.",
    "image": "https://ipfs.io/ipfs/QmZzBdKF7sQX1Q49CQGmreuZHxt9sVB3hTc3TTXYcVZ7jC",
}

Fügen Sie nun die JSON -Datei hinzu:

$ ipfs add nft.json

Kopieren Sie den Hash, beginnend bei QM und fügen Sie die https://ipfs.io/ipfs/prefix,it wie folgt aus:Wir brauchen das, um NFT zu machen.

Erstellen Sie unser eigenes Token

Für Bequemlichkeit und Sicherheit werden wir den Vertrag von 0xcert / etheeum-ERC721 verwenden, um unseren NFT-Vertrag zu erstellen. Mit dem 0xcert / etheeum-ERC721 müssen wir nicht die gesamte ERC-721-Schnittstelle schreiben.Stattdessen können wir den Bibliotheksvertrag importieren und seine Funktionen verwenden

// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;
 
import "https://github.com/0xcert/ethereum-erc721/src/contracts/tokens/nf-token-metadata.sol";
import "https://github.com/0xcert/ethereum-erc721/src/contracts/ownership/ownable.sol";
 
contract newNFT is NFTokenMetadata, Ownable {
 
  constructor() {
    nftName = "Synth NFT";
    nftSymbol = "SYN";
  }
 
  function mint(address _to, uint256 _tokenId, string calldata _uri) external onlyOwner {
    super._mint(_to, _tokenId);
    super._setTokenUri(_tokenId, _uri);
  }
 
}

Das Folgende ist eine Erklärung des Code:

Zeile 1: Gibt den SPDX-Lizenztyp an, der nach der Festigkeitsfestigkeit ^ 0,6,8 zugegeben wurde.Diese Lizenzen können beim Auflösen / Vermeiden von Urheberrechtsfragen dabei helfen, wenn der Quellcode eines intelligenten Vertrags der Öffentlichkeit zur Verfügung gestellt wird.Wenn Sie keinen Lizenztyp angeben möchten, können Sie einen speziellen Wert nicht lizenziert oder einfach den gesamten Kommentar überspringen (es verursacht keinen Fehler, nur eine Warnung).

Zeile 2: deklariert die Solidity -Version.

Zeilen 4-5: Importieren Sie den Vertrag von 0xCert/Ethereum-ECR721.

Zeile 7: Der Vertrag heißt NEWNFT, der die NFTokenMetadata und den Besitzverträgen erbt.

Zeilen 9-12: Initialisieren Sie den Konstruktor und stellen Sie den Namen und das Token-Symbol ein.

Zeile 14: Deklarieren Sie die Funktionsminze mit drei Parametern, die Variable _TO für die Adresse, die die Adresse des NFT -Token -Empfängers speichert;die Variable _tokenid für uint256, die die Token -ID enthält;und die Variable _uri für die Zeichenfolge, die den URI der JSON -Datei speichert.Deklarieren Sie Mint als externe Funktion, auf die außerhalb anderer intelligenter Verträge und des aktuellen Vertrags zugegriffen werden kann.

Zeile 15: Verwenden Sie die Adresse des Empfängers und die Token-ID, um die Token zu tadelhalten.

Zeile 16: Stellen Sie den Token-URI mit der Token-ID und der URI der JSON-Datei ein.

Kompilieren Sie den Smart -Vertrag und stellen Sie ihn mit injiziertem Web3 ein (wählen Sie vor dem Zusammenstellen des Vertrags unbedingt Ropsten -TestNet auf Metamask).Genehmigen Sie die Transaktionen, die zu Metamask kommen.

Wenn Sie vor der Bereitstellung eine Fehlermeldung erhalten: Dieser Vertrag kann abstrakt sein, stellen Sie sicher, dass der entsprechende Vertrag auf der Registerkarte Verträge ausgewählt ist.Bestätigen Sie die Transaktion in Metamask.

Gehen Sie nun in den Bereich Deployd Contracts in Remix und erweitern Sie die bereitgestellten Verträge.Sie sehen eine Reihe von Funktionen / Methoden.Erweitern Sie die MINT-Funktion und fügen Sie die folgenden Parameter hinzu:

  1. Fügen Sie Ihre ROPSTEN-Adresse an _to hinzu.

  2. Geben Sie einen beliebigen numerischen Wert in _tokenID ein (1 wird empfohlen, da er der erste ist).

  3. Fügen Sie im Feld _uri die URI der im vorherigen Abschnitt erhaltenen JSON -Datei hinzu.

Klicken Sie auf die Transaktion und bestätigen Sie die Transaktion aus Metamask.(Erfordert, dass Sie bereits ETH an der Ropsten-Kette haben)

Sie können andere Details wie Name, Symbol, Eigentümer oder Tokenuri sehen, indem Sie die zuvor erwähnte Token -ID eingeben.

Herzlichen Glückwunsch zum Erstellen Ihres eigenen NFT, helfen Sie Ihren Künstlerfreunden, ihre Kunstwerke in die Etherblockchain zu veröffentlichen oder selbst Künstler zu werden.

Last updated