{"id":459,"date":"2021-10-07T01:04:07","date_gmt":"2021-10-06T23:04:07","guid":{"rendered":"https:\/\/falkbachmann.com\/?p=459"},"modified":"2024-01-03T19:18:35","modified_gmt":"2024-01-03T18:18:35","slug":"nft-in-cardano-erstellen","status":"publish","type":"post","link":"https:\/\/falkbachmann.com\/en\/nft-in-cardano-erstellen\/","title":{"rendered":"NFT in Cardano erstellen"},"content":{"rendered":"<p class=\"has-text-align-left\">In diesem Beitrag wird Schritt f\u00fcr Schritt erkl\u00e4rt, wie man eigene NFTs im Cardano Test Netzwerk erzeugen (minten) kann. <\/p>\n\n\n\n<p class=\"has-text-align-left\">Damit jeder es einfach selbst ausprobieren kann, ist diese Anleitung f\u00fcr das Cardano Testnet geschrieben. Dabei handelt es sich um eine eigenst\u00e4ndige Blockchain, auf der ohne irgendwelche kosten die Funktionalit\u00e4ten von Cardano getestet werden k\u00f6nnen. Um NFTs auf dem Cardano Mainnet zu erstellen m\u00fcssen in den sp\u00e4teren Befehlen einfach nur die Stellen wo &#8222;<em>&#8211;$testnet<\/em>&#8220; steht durch &#8222;<em>&#8211;mainnet<\/em>&#8220; ausgetauscht werden.<\/p>\n\n\n\n<p>Voraussetzung f\u00fcr die Anleitung ist ein grundlegendes Verst\u00e4ndnis f\u00fcr Blockchain und NFTs, sowie Basiskenntnisse im Umgang mit dem Terminal.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Bild bereitstellen<\/h2>\n\n\n\n<p>Um das NFT sp\u00e4ter mit einem Bild zu Verkn\u00fcpfen, muss dieses Bild zun\u00e4chst bereitgestellt werden. Im NFT selbst ist jedoch nicht das komplette Bild enthalten, da sonst die Blockchain sehr schnell viel zu gro\u00df werden w\u00fcrde. Aus diesem Grund wird im NFT ein Link zu dem entsprechenden Bild hinterlegt. Das Bild muss also \u00fcber einen Link aus dem Internet erreichbar sein. F\u00fcr NFTs hat sich dazu in der Praxis das Interplanetary Filesystem (IPFS) durchgesetzt. IPFS ist im Grunde ein verteiltes Dateisystem, bei dem die Daten nicht nur bei einem, sondern in St\u00fccke zerteilt bei vielen liegen. Dadurch wird im Sinne von NFTs gew\u00e4hrleistet, dass die Bilder auch noch verf\u00fcgbar sind, wenn der NFT Ersteller seine Server abschaltet.<\/p>\n\n\n\n<p>Der einfachste Weg um IPFS zu nutzen, ist es die Desktop Anwendung zu installieren (<a href=\"https:\/\/github.com\/ipfs\/ipfs-desktop\/releases\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/ipfs\/ipfs-desktop\/releases<\/a>). Downloaded hier je nach Betriebsystem den entsprechenden Installer (f\u00fcr Windows z.B. <em>IPFS-Desktop-Setup-0.17.0.exe<\/em>) und installiert IPFS-Desktop. <\/p>\n\n\n\n<p>Wenn der Desktop Client installiert ist, startet ihn und klickt auf der linken Seite auf <em>Dateien<\/em>. Hier k\u00f6nnen  jetzt alle Bilder importiert werden, welche mit NFTs verkn\u00fcpft werden sollen. Wenn ein Bild importiert wurde, erscheint es in der Liste. Im NFT wird die CID der Datei (die Zeichenfolge unter dem Dateinamen) hinterlegt. Um die CID zu kopieren kann man rechts bei der Datei auf die drei Punkte klicken und dann in dem Men\u00fc auf CID kopieren klicken. Die CID von dem Bild welches in den folgenden Schritten zum NFT werden soll, wird sp\u00e4ter nochmal ben\u00f6tigt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"642\" src=\"https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/image-1024x642.png\" alt=\"\" class=\"wp-image-460\" srcset=\"https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/image-1024x642.png 1024w, https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/image-300x188.png 300w, https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/image-768x481.png 768w, https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/image-18x12.png 18w, https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/image.png 1418w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">IPFS-Desktop Dateiansicht<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">2. Cardano Node einrichten<\/h2>\n\n\n\n<p>Um mit dem Cardano Netzwerk kommunizieren zu k\u00f6nnen wird ein Cardano Node ben\u00f6tigt. Mit Hilfe des Cardano Node k\u00f6nnen Transaktionen auf der Blockchain ausgef\u00fchrt werden. <\/p>\n\n\n\n<p>Der einfachste Weg einen Cardano Node bereitzustellen, ist das Ausf\u00fchren des offiziellen Cardano Node Docker Containers. Hierf\u00fcr muss, falls noch nicht geschehen, zun\u00e4chst Docker installiert werden. Hierf\u00fcr empfiehlt es sich Docker Desktop zu installieren (<a href=\"https:\/\/www.docker.com\/products\/docker-desktop\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.docker.com\/products\/docker-desktop<\/a>).<\/p>\n\n\n\n<p>Wenn Docker Desktop installiert ist,  kann der Cardano Node Container ausgef\u00fchrt werden. Dazu m\u00fcssen im Terminal die folgenden Befehle ausgef\u00fchrt werden:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Herunterladen des neuesten Cardano Node Container Images:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker image pull inputoutput\/cardano-node:latest<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Erstellen der lokalen Volumes (persistente Speicher) f\u00fcr den Container:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker volume create cardano-node-data\ndocker volume create cardano-node-ipc<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ausf\u00fchren des Containers: <br>(&lt;Magic Number> muss durch die reelle Testnet Magic Nummer ersetzt werden. Diese steht unter <em>&#8222;networkMagic&#8220;<\/em> auf der folgenden Seite <a href=\"https:\/\/book.world.dev.cardano.org\/environments\/preview\/shelley-genesis.json\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/book.world.dev.cardano.org\/environments\/preview\/shelley-genesis.json<\/a>)<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>testnet='testnet <span style=\"background-color: initial; font-size: inherit;\">&lt;Magic Number&gt;<\/span>'\n\ndocker run --name cardano-node -e NETWORK=$testnet -e CARDANO_NODE_SOCKET_PATH=\/ipc\/node.socket -v cardano-node-ipc:\/ipc -v cardano-node-data:\/data inputoutput\/cardano-node<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00d6ffnen einer Kommandozeile in dem Container: <br>(Zweites Terminal unter Windows \u00f6ffnen)<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it cardano-node bash<\/code><\/pre>\n\n\n\n<p>Der Cardano Node ist nun eingerichtet und kann nun f\u00fcr das Erstellen des NFTs genutzt werden. In dem zweiten Terminal werden alle nachfolgenden Schritte direkt im Container ausgef\u00fchrt.<\/p>\n\n\n\n<p><strong>Alle weiteren Schritte sollten erst ausgef\u00fchrt werden, wenn der Cardano Node komplett mit der Blockchain synchronisiert ist<\/strong>. Dies kann 30 bis 50 Minuten dauern. Den aktuellen Synchronisierungsstand kann man sich wie folgt anzeigen lassen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli query tip --$testnet<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. NFT erzeugen<\/h2>\n\n\n\n<p>Wichtig f\u00fcr NFTs ist die Einzigartigkeit und Unver\u00e4nderbarkeit. Beides kann auf einfache Art mithilfe von Native Assets in Cardano erreicht werden. Zum einen wird nur eine Signatur zum erzeugen und l\u00f6schen des Tokens erlaubt und zum anderen wird auch nur ein einziger Token erzeugt. Das erzeugte NFT ist in diesem Beispiel 10000 Slots ver\u00e4nderbar. So kann das NFT noch einen gewissen Zeitraum nach Erstellung ver\u00e4ndert und gel\u00f6scht werden. Wenn also Fehler beim Erzeugen gemacht werden, ist dies nicht f\u00fcr diesen Zeitraum nicht so schlimm.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Setup<\/strong><\/h3>\n\n\n\n<p>Alle nachfolgenden Schritte werden innerhalb des Cardano Node Containers ausgef\u00fchrt (zweites Terminal aus dem Schritt davor).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Arbeitsverzeichnis erstellen:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir nft\ncd nft\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Variablen setzen:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>tokenname=\"NFT\"\ntokenamount=\"1\"\nfee=\"0\"\noutput=\"0\"\ntestnet=\"testnet &lt;Hier die Magic Number wie oben eintragen&gt;\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Variable mit der CID vom hochgeladenen Bild aus Schritt 1 setzen:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ipfs_hash=\"hier die CID aus Schritt 1 einf\u00fcgen\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Schl\u00fcssel erzeugen:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli address key-gen --verification-key-file payment.vkey --signing-key-file payment.skey<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cardano Adresse f\u00fcr Testnetzwerk erzeugen:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli address build --payment-verification-key-file payment.vkey --out-file payment.addr --$testnet<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Adresse in Variable speichern:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>address=$(cat payment.addr)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Test Ada auf Adresse laden<\/strong><\/h3>\n\n\n\n<p>Jede Transaktion auf der Blockchain kostet eine gewisse Geb\u00fchr (mindestens 1 Ada). Im Cardano Testnetzwerk kann man sich zum Testen kostenlos 1000 tAda auf eine Cardano Adresse \u00fcberweisen lassen. <\/p>\n\n\n\n<p>Zun\u00e4chst muss die gerade erzeugte Cardano Adresse kopiert werden. Die Adresse kann \u00fcber folgenden Befehl angezeigt werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat $address<\/code><\/pre>\n\n\n\n<p>Nachdem die Adresse kopiert wurde, muss diese in dem Tool auf folgender Seite eingef\u00fcgt werden (alles andere bleibt default): <a href=\"https:\/\/testnets.cardano.org\/en\/testnets\/cardano\/tools\/faucet\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/testnets.cardano.org\/en\/testnets\/cardano\/tools\/faucet\/<\/a><\/p>\n\n\n\n<p>\u00dcber den <em>Request Funds <\/em>Button wird das Test Ada eurer Adresse hinzugef\u00fcgt. Dies kann ein paar Minuten dauern.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"612\" height=\"537\" src=\"https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/image-1.png\" alt=\"\" class=\"wp-image-469\" style=\"width:406px;height:356px\" srcset=\"https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/image-1.png 612w, https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/image-1-300x263.png 300w, https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/image-1-14x12.png 14w\" sizes=\"auto, (max-width: 612px) 100vw, 612px\" \/><figcaption class=\"wp-element-caption\">Cardano Testnet Faucet<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Um zu \u00fcberpr\u00fcfen, ob das tAda schon transferiert wurde, kann der folgende Befehl genutzt werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli query utxo --address $address --$testnet<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Protokollparameter exportieren<\/strong><\/h3>\n\n\n\n<p>F\u00fcr sp\u00e4tere Zwecke werden einige Protokollparameter ben\u00f6tigt. Diese k\u00f6nnen mit folgendem Kommando in eine Datei geschrieben werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli query protocol-parameters --$testnet --out-file protocol.json<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Policy ID erstellen<\/h3>\n\n\n\n<p>Um die Regeln f\u00fcr das Erstellen und Zerst\u00f6ren des Tokens festzulegen, wird eine sogenannte <em>policy<\/em> erstellt. Dazu geh\u00f6ren zum einen ein Schl\u00fcsselpaar und zum anderen ein Skript File.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zun\u00e4chst wird f\u00fcr die Policy ein neues Verzeichnis erstellt:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir policy<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In diesem Verzeichnis wird nun das Schl\u00fcsselpaar erzeugt:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli address key-gen --verification-key-file policy\/policy.vkey --signing-key-file policy\/policy.skey<\/code><\/pre>\n\n\n\n<p>Nun wird das Skript File erstellt. In diesem wird festgelegt, dass nur eine Signatur erlaubt ist und das Erzeugen und Zerst\u00f6ren des Token nur innerhalb der ersten 10000 Slots nach der erstmaligen Erstellung m\u00f6glich sind. <\/p>\n\n\n\n<p>Zun\u00e4chst muss der aktuelle Slot herausgefunden werden. Der Slot kann aus der Ausgabe des folgenden Kommandos abgelesen werden: (<strong>Wichtig<\/strong>: Diese Slotnummer muss um 10000 erh\u00f6ht werden)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli query tip --$testnet<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die um 10000 erh\u00f6hte Slotnummer wird nun in einer Variable gespeichert:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>slotnumber=\"Hier Slotnummer einf\u00fcgen\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Um das Policy Skript File zu erstellen m\u00fcssen die nachfolgenden Kommandos in der entsprechenden Reihenfolge ausgef\u00fchrt und die um 10000 erh\u00f6hte Slotnummer erg\u00e4nzt werden:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"{\" &gt;&gt; policy\/policy.script\necho \"  \\\"type\\\": \\\"all\\\",\" &gt;&gt; policy\/policy.script \necho \"  \\\"scripts\\\":\" &gt;&gt; policy\/policy.script \necho \"  &#91;\" &gt;&gt; policy\/policy.script \necho \"   {\" &gt;&gt; policy\/policy.script \necho \"     \\\"type\\\": \\\"before\\\",\" &gt;&gt; policy\/policy.script \necho \"     \\\"slot\\\": HIER SLOTNUMMER ERG\u00c4NZEN\" &gt;&gt; policy\/policy.script\necho \"   },\" &gt;&gt; policy\/policy.script \necho \"   {\" &gt;&gt; policy\/policy.script\necho \"     \\\"type\\\": \\\"sig\\\",\" &gt;&gt; policy\/policy.script \necho \"     \\\"keyHash\\\": \\\"$(cardano-cli address key-hash --payment-verification-key-file policy\/policy.vkey)\\\"\" &gt;&gt; policy\/policy.script \necho \"   }\" &gt;&gt; policy\/policy.script\necho \"  ]\" &gt;&gt; policy\/policy.script \necho \"}\" &gt;&gt; policy\/policy.script<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nun wird der Pfad zum Skript ebenfalls in einer Variable gespeichert:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>script=\"policy\/policy.script\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zuletzt wird die policyID generiert:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli transaction policyid --script-file .\/policy\/policy.script &gt;&gt; policy\/policyID<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Metadaten erstellen<\/h3>\n\n\n\n<p>Zus\u00e4tzlich zur Policy ben\u00f6tigt ein NFT auch Metadaten. Hier sind die wichtigsten Informationen zum NFT enthalten. Dazu z\u00e4hlen insbesondere der Name, die Beschreibung und der Pfad zum Bild. Die Metadaten werden in einer JSON Datei (metadata.json) gespeichert.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die metadata.json Datei kann wie folgt erstellt werden. In den Nachfolgenden Kommandos m\u00fcssen entsprechend Name und Beschreibung angepasst werden:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"{\" &gt;&gt; metadata.json\necho \"  \\\"721\\\": {\" &gt;&gt; metadata.json \necho \"    \\\"$(cat policy\/policyID)\\\": {\" &gt;&gt; metadata.json \necho \"      \\\"$(echo $tokenname)\\\": {\" &gt;&gt; metadata.json\necho \"        \\\"description\\\": \\\"Hier k\u00f6nnte deine NFT Beschreibung stehen\\\",\" &gt;&gt; metadata.json\necho \"        \\\"name\\\": \\\"Mein erster NFT\\\",\" &gt;&gt; metadata.json\necho \"        \\\"id\\\": \\\"1\\\",\" &gt;&gt; metadata.json\necho \"        \\\"image\\\": \\\"ipfs:\/\/$(echo $ipfs_hash)\\\"\" &gt;&gt; metadata.json\necho \"      }\" &gt;&gt; metadata.json\necho \"    }\" &gt;&gt; metadata.json \necho \"  }\" &gt;&gt; metadata.json \necho \"}\" &gt;&gt; metadata.json<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Token mit Transaktion erzeugen<\/h3>\n\n\n\n<p>Nun ist es an der Zeit den NFT zu erzeugen. Dies geschieht mit Hilfe einer Transaktion auf der Blockchain.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zun\u00e4chst m\u00fcssen noch ein paar Variablen gesetzt werden:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli query utxo --address $address --$testnet\n\ntxhash=\"TxHash aus der Ausgabe einf\u00fcgen\"\ntxix=\"TxIx aus der Ausgabe einf\u00fcgen\"\nfunds=\"Amount aus der Ausgabe einf\u00fcgen\"\npolicyid=$(cat policy\/policyID)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Jetzt kann das Raw File der Transaktion erzeugt werden:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli transaction build-raw \\\n--fee $fee  \\\n--tx-in $txhash#$txix  \\\n--tx-out $address+$output+\"$tokenamount $policyid.$tokenname\" \\\n--mint=\"$tokenamount $policyid.$tokenname\" \\\n--minting-script-file $script \\\n--metadata-json-file metadata.json  \\\n--invalid-hereafter $slotnumber \\\n--out-file matx.raw<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die Geb\u00fchr, welche bei der Transaktion anf\u00e4llt muss nun anhand des Raw Files berechnet und gesetzt  werden:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>fee=$(cardano-cli transaction calculate-min-fee --tx-body-file matx.raw --tx-in-count 1 --tx-out-count 1 --witness-count 1 --$testnet --protocol-params-file protocol.json | cut -d \" \" -f1)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Der Wert f\u00fcr die \u00fcbrigen tAda muss entsprechend auch berechnet und gesetzt werden:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>output=$(expr $funds - $fee)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mit den neuen Werten wird das Raw File \u00fcberschrieben:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli transaction build-raw \\\n--fee $fee \\\n--tx-in $txhash#$txix \\\n--tx-out $address+$output+\"$tokenamount $policyid.$tokenname\" \\\n--mint=\"$tokenamount $policyid.$tokenname\" \\\n--minting-script-file $script \\\n--metadata-json-file metadata.json \\\n--invalid-hereafter $slotnumber \\\n--out-file matx.raw<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die Transaktion wird nun signiert:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli transaction sign \\\n--signing-key-file payment.skey \\\n--signing-key-file policy\/policy.skey \\\n--$testnet --tx-body-file matx.raw \\\n--out-file matx.signed<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zuletzt wird die Transaktion ausgef\u00fchrt:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cardano-cli transaction submit --tx-file matx.signed --$testnet<\/code><\/pre>\n\n\n\n<p>Der NFT ist nun erstellt worden und sollte \u00fcber den Cardano Explorer sichtbar sein (es kann ggf. ein paar Minuten dauern bis die Transaktion abgeschlossen ist).<\/p>\n\n\n\n<p>\u00d6ffnet die folgende Seite und sucht nach eurer Cardano Adresse: <a href=\"https:\/\/explorer.cardano-testnet.iohkdev.io\/de\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/explorer.cardano-testnet.iohkdev.io\/de<\/a><\/p>\n\n\n\n<p>Hier sollte der NFT nun sichtbar sein (allerdings sieht man hier nicht das Bild, sondern nur die Metadaten)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hilfreiche Links<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cardano Explorer: <a href=\"https:\/\/preprod.cardanoscan.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/preprod.cardanoscan.io\/<\/a><\/li>\n\n\n\n<li>Cardano Developer Portal: <a href=\"https:\/\/developers.cardano.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/developers.cardano.org\/<\/a><\/li>\n\n\n\n<li>Cardano Testnets Dokumentation: <a href=\"https:\/\/testnets.cardano.org\/en\/testnets\/cardano\/overview\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/testnets.cardano.org\/en\/testnets\/cardano\/overview\/<\/a><\/li>\n\n\n\n<li>IPFS Dokumentation: <a href=\"https:\/\/docs.ipfs.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.ipfs.io\/<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>In diesem Beitrag wird Schritt f\u00fcr Schritt erkl\u00e4rt, wie man eigene NFTs im Cardano Test Netzwerk erzeugen (minten) kann. Damit jeder es einfach selbst ausprobieren kann, ist diese Anleitung f\u00fcr das Cardano Testnet geschrieben. Dabei handelt es sich um eine eigenst\u00e4ndige Blockchain, auf der ohne irgendwelche kosten die Funktionalit\u00e4ten von Cardano getestet werden k\u00f6nnen. Um&hellip;&nbsp;<a href=\"https:\/\/falkbachmann.com\/en\/nft-in-cardano-erstellen\/\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">NFT in Cardano erstellen<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":472,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[14],"tags":[11,12,13,10],"class_list":["post-459","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-crypto","tag-cardano","tag-crypto","tag-minting","tag-nft"],"yoast_head":"<title>NFT in Cardano erstellen - Falk Bachmann<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/falkbachmann.com\/en\/nft-in-cardano-erstellen\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"NFT in Cardano erstellen - Falk Bachmann\" \/>\n<meta property=\"og:description\" content=\"In diesem Beitrag wird Schritt f\u00fcr Schritt erkl\u00e4rt, wie man eigene NFTs im Cardano Test Netzwerk erzeugen (minten) kann. Damit jeder es einfach selbst ausprobieren kann, ist diese Anleitung f\u00fcr das Cardano Testnet geschrieben. Dabei handelt es sich um eine eigenst\u00e4ndige Blockchain, auf der ohne irgendwelche kosten die Funktionalit\u00e4ten von Cardano getestet werden k\u00f6nnen. Um&hellip;&nbsp;Read More &raquo;NFT in Cardano erstellen\" \/>\n<meta property=\"og:url\" content=\"https:\/\/falkbachmann.com\/en\/nft-in-cardano-erstellen\/\" \/>\n<meta property=\"og:site_name\" content=\"Falk Bachmann\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-06T23:04:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-03T18:18:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/pexels-bich-tran-709237-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1703\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/nft-in-cardano-erstellen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/nft-in-cardano-erstellen\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/#\\\/schema\\\/person\\\/7142cedf189cd4b2b8c67b1eb2117f1b\"},\"headline\":\"NFT in Cardano erstellen\",\"datePublished\":\"2021-10-06T23:04:07+00:00\",\"dateModified\":\"2024-01-03T18:18:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/nft-in-cardano-erstellen\\\/\"},\"wordCount\":1305,\"publisher\":{\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/nft-in-cardano-erstellen\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/falkbachmann.com\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/pexels-bich-tran-709237-scaled.jpg\",\"keywords\":[\"Cardano\",\"crypto\",\"minting\",\"NFT\"],\"articleSection\":[\"Crypto\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/nft-in-cardano-erstellen\\\/\",\"url\":\"https:\\\/\\\/falkbachmann.com\\\/nft-in-cardano-erstellen\\\/\",\"name\":\"NFT in Cardano erstellen - Falk Bachmann\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/nft-in-cardano-erstellen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/nft-in-cardano-erstellen\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/falkbachmann.com\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/pexels-bich-tran-709237-scaled.jpg\",\"datePublished\":\"2021-10-06T23:04:07+00:00\",\"dateModified\":\"2024-01-03T18:18:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/nft-in-cardano-erstellen\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/falkbachmann.com\\\/nft-in-cardano-erstellen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/nft-in-cardano-erstellen\\\/#primaryimage\",\"url\":\"https:\\\/\\\/falkbachmann.com\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/pexels-bich-tran-709237-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/falkbachmann.com\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/pexels-bich-tran-709237-scaled.jpg\",\"width\":2560,\"height\":1703,\"caption\":\"Foto von Bich Tran von Pexels\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/nft-in-cardano-erstellen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/falkbachmann.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"NFT in Cardano erstellen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/#website\",\"url\":\"https:\\\/\\\/falkbachmann.com\\\/\",\"name\":\"Falk Bachmann\",\"description\":\"Software die Menschen gl\u00fccklich macht\",\"publisher\":{\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/falkbachmann.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/#organization\",\"name\":\"Falk Bachmann\",\"url\":\"https:\\\/\\\/falkbachmann.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/falkbachmann.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/cropped-output-onlinepngtools-1-1.png\",\"contentUrl\":\"https:\\\/\\\/falkbachmann.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/cropped-output-onlinepngtools-1-1.png\",\"width\":943,\"height\":945,\"caption\":\"Falk Bachmann\"},\"image\":{\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/falkbachmann.com\\\/#\\\/schema\\\/person\\\/7142cedf189cd4b2b8c67b1eb2117f1b\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7efd0638c6b394b31b4f791f2bbeff45c3297553adc5eac112af1a6e495f7d4b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7efd0638c6b394b31b4f791f2bbeff45c3297553adc5eac112af1a6e495f7d4b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7efd0638c6b394b31b4f791f2bbeff45c3297553adc5eac112af1a6e495f7d4b?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"http:\\\/\\\/falkbachmann.com\"],\"url\":\"https:\\\/\\\/falkbachmann.com\\\/en\\\/author\\\/admin\\\/\"}]}<\/script>","yoast_head_json":{"title":"NFT in Cardano erstellen - Falk Bachmann","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/falkbachmann.com\/en\/nft-in-cardano-erstellen\/","og_locale":"en_US","og_type":"article","og_title":"NFT in Cardano erstellen - Falk Bachmann","og_description":"In diesem Beitrag wird Schritt f\u00fcr Schritt erkl\u00e4rt, wie man eigene NFTs im Cardano Test Netzwerk erzeugen (minten) kann. Damit jeder es einfach selbst ausprobieren kann, ist diese Anleitung f\u00fcr das Cardano Testnet geschrieben. Dabei handelt es sich um eine eigenst\u00e4ndige Blockchain, auf der ohne irgendwelche kosten die Funktionalit\u00e4ten von Cardano getestet werden k\u00f6nnen. Um&hellip;&nbsp;Read More &raquo;NFT in Cardano erstellen","og_url":"https:\/\/falkbachmann.com\/en\/nft-in-cardano-erstellen\/","og_site_name":"Falk Bachmann","article_published_time":"2021-10-06T23:04:07+00:00","article_modified_time":"2024-01-03T18:18:35+00:00","og_image":[{"width":2560,"height":1703,"url":"https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/pexels-bich-tran-709237-scaled.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/falkbachmann.com\/nft-in-cardano-erstellen\/#article","isPartOf":{"@id":"https:\/\/falkbachmann.com\/nft-in-cardano-erstellen\/"},"author":{"name":"admin","@id":"https:\/\/falkbachmann.com\/#\/schema\/person\/7142cedf189cd4b2b8c67b1eb2117f1b"},"headline":"NFT in Cardano erstellen","datePublished":"2021-10-06T23:04:07+00:00","dateModified":"2024-01-03T18:18:35+00:00","mainEntityOfPage":{"@id":"https:\/\/falkbachmann.com\/nft-in-cardano-erstellen\/"},"wordCount":1305,"publisher":{"@id":"https:\/\/falkbachmann.com\/#organization"},"image":{"@id":"https:\/\/falkbachmann.com\/nft-in-cardano-erstellen\/#primaryimage"},"thumbnailUrl":"https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/pexels-bich-tran-709237-scaled.jpg","keywords":["Cardano","crypto","minting","NFT"],"articleSection":["Crypto"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/falkbachmann.com\/nft-in-cardano-erstellen\/","url":"https:\/\/falkbachmann.com\/nft-in-cardano-erstellen\/","name":"NFT in Cardano erstellen - Falk Bachmann","isPartOf":{"@id":"https:\/\/falkbachmann.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/falkbachmann.com\/nft-in-cardano-erstellen\/#primaryimage"},"image":{"@id":"https:\/\/falkbachmann.com\/nft-in-cardano-erstellen\/#primaryimage"},"thumbnailUrl":"https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/pexels-bich-tran-709237-scaled.jpg","datePublished":"2021-10-06T23:04:07+00:00","dateModified":"2024-01-03T18:18:35+00:00","breadcrumb":{"@id":"https:\/\/falkbachmann.com\/nft-in-cardano-erstellen\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/falkbachmann.com\/nft-in-cardano-erstellen\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/falkbachmann.com\/nft-in-cardano-erstellen\/#primaryimage","url":"https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/pexels-bich-tran-709237-scaled.jpg","contentUrl":"https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/10\/pexels-bich-tran-709237-scaled.jpg","width":2560,"height":1703,"caption":"Foto von Bich Tran von Pexels"},{"@type":"BreadcrumbList","@id":"https:\/\/falkbachmann.com\/nft-in-cardano-erstellen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/falkbachmann.com\/"},{"@type":"ListItem","position":2,"name":"NFT in Cardano erstellen"}]},{"@type":"WebSite","@id":"https:\/\/falkbachmann.com\/#website","url":"https:\/\/falkbachmann.com\/","name":"Falk Bachmann","description":"Software that makes people happy","publisher":{"@id":"https:\/\/falkbachmann.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/falkbachmann.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/falkbachmann.com\/#organization","name":"Falk Bachmann","url":"https:\/\/falkbachmann.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/falkbachmann.com\/#\/schema\/logo\/image\/","url":"https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/06\/cropped-output-onlinepngtools-1-1.png","contentUrl":"https:\/\/falkbachmann.com\/wp-content\/uploads\/2021\/06\/cropped-output-onlinepngtools-1-1.png","width":943,"height":945,"caption":"Falk Bachmann"},"image":{"@id":"https:\/\/falkbachmann.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/falkbachmann.com\/#\/schema\/person\/7142cedf189cd4b2b8c67b1eb2117f1b","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7efd0638c6b394b31b4f791f2bbeff45c3297553adc5eac112af1a6e495f7d4b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7efd0638c6b394b31b4f791f2bbeff45c3297553adc5eac112af1a6e495f7d4b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7efd0638c6b394b31b4f791f2bbeff45c3297553adc5eac112af1a6e495f7d4b?s=96&d=mm&r=g","caption":"admin"},"sameAs":["http:\/\/falkbachmann.com"],"url":"https:\/\/falkbachmann.com\/en\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/falkbachmann.com\/en\/wp-json\/wp\/v2\/posts\/459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/falkbachmann.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/falkbachmann.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/falkbachmann.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/falkbachmann.com\/en\/wp-json\/wp\/v2\/comments?post=459"}],"version-history":[{"count":0,"href":"https:\/\/falkbachmann.com\/en\/wp-json\/wp\/v2\/posts\/459\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/falkbachmann.com\/en\/wp-json\/wp\/v2\/media\/472"}],"wp:attachment":[{"href":"https:\/\/falkbachmann.com\/en\/wp-json\/wp\/v2\/media?parent=459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/falkbachmann.com\/en\/wp-json\/wp\/v2\/categories?post=459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/falkbachmann.com\/en\/wp-json\/wp\/v2\/tags?post=459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}