Deploy, Mint und Transfer mit der Ord Wallet

Alles was du wissen musst

23.09.2023

bitcoinhowtotutorialbrc20ordinalsdeen
Gregor Wedlich
Gregor Wedlich
Life, the Universe and Everything.
Donate with:
Lightning
Alby

Inhaltsverzeichnis

    Obwohl es eine ausführliche Dokumentation von den Erstellern des BRC20 Token Standards gibt, ist diese in vielen Teilen sehr theoretisch. Das ist grundsätzlich gut, aber wenn man nur alle paar Monate Zeit hat, sich mit dem Thema Ordinals und dessen Ökosystem auseinanderzusetzen und jedes Mal erneut die Dokumentation durchgehen muss, finde ich das eher lästig als hilfreich. Deshalb habe ich mich entschlossen, eine kleine Schritt-für-Schritt-Anleitung zu erstellen, wie man Tokens erstellt, mintet und transferiert.

    Dieses Tutorial setzt voraus, dass eine vollständig synchronisierte Bitcoin-Core Wallet und Ord Wallet installiert wurde. Weiterhin gehe ich davon aus, dass jemand, der die Ord Wallet installiert hat, auch weiß, wie er sie bedienen muss. Daher werde ich in diesem Beitrag nicht weiter darauf eingehen. Solltet ihr dennoch Interesse an einer Anleitung dazu haben, lasst es mich in den Kommentaren wissen.

    Vorrausetzungen zusammengefasst:

    • Vollständig synchronisierte Bitcoin-Core Wallet
    • Ord Wallet Installiert
    • Einige UTXOs auf der Ord Wallet vorhanden

    1. Deploy: Wie du deinen eigenen BRC20 Token erstellst

    1.1 Deploy Textdatei erstellen

    Zuerst erstellen wir eine Textdatei. Dabei ist es wichtig, dass der MIME-Typ: "text/plain" und der Zeichensatz "charset=utf-8" ist.

    Wie dies funktioniert, variiert je nach Betriebssystem. IDEs und Editoren wie Notepad++ zeigen jedoch in der Regel an, welcher Zeichensatz und welcher MIME-Typ gesetzt ist. In dieser Anleitung erkläre ich den Vorgang für Linux bzw. die Shell. Dies sollte auch unter Windows in einer WSL-Shell funktionieren.

    Ich erstelle meine Textdatei mit "iconv" und nenne meinen Token beispielhaft "sil3":

    1echo "" | iconv -t UTF-8 > deploy-sil3.txt

    1.2 Token Spezifizieren

    Jetzt bestimmen wir, wie unser Token heißen soll und welche Menge davon vorhanden sein wird. Im Grunde spezifizieren wir unseren Token, um ihn später fest und unveränderlich in der Timechain zu verankern.

    Bearbeitet nun die Textdatei und fügt den folgenden Inhalt ein. Passt dabei natürlich den Namen "tick", die maximal verfügbare Menge an Token "max" und das Limit "lim" für die maximale Anzahl an Token pro Minting-Vorgang an.

    1{ 2 "p": "brc-20", 3 "op": "deploy", 4 "tick": "sil3", 5 "max": "21000000", 6 "lim": "1000" 7}

    Hier eine Kurze Erklärung was die Einzellnen Schlüssel bedeuten:

    "p": = Protokoll: Hilft anderen Systemen, Brc-20-Ereignisse zu identifizieren und zu verarbeiten "op": = Operation: Art des Ereignisses (Bereitstellen, Mint, Transfer) "tick": = Ticker: max. 4-Buchstaben-Kennung des BRC-20 "max": = Max. Versorgung: Stellen Sie die maximale Versorgung des BRC-20 ein "lim": = Max. Limit pro Mint

    1.3 Token einschreiben (Inscribe)

    Jetzt können wir unseren Token deployen. Dies geschieht mit dem folgenden Befehl und bitte lesst vorab die Erläuterung durch:

    1ord wallet inscribe --destination ZIEL_ADRESSE ~/deploy-sil3.txt --fee-rate 26

    Erläuerung:

    --destination:

    Dies ist ein optionaler Befehl, den ich euch jedoch empfehlen würde einzusetzen. In unserem Fall gehen wir davon aus, dass wir uns vorab eine Adresse mit dem Befehl `wallet receive generiert haben. Diese Adresse sollten wir immer beim Minten und Transferieren angeben. Der Grund dafür ist, dass die Ord Wallet bei Nichtangabe jede Inscription auf eine neue Adresse schreibt. Das bedeutet, wenn wir z.B. 10 Mal eine Mint-Inscription für unsere Tokens erstellt haben, besitzen wir auch 10 verschiedene Adressen. Möchten wir nun 10.000 Tokens (10 x 1.000) versenden, müssten wir für jede dieser Adressen eine Transfer-Inscription erstellen, da die Tokens der einzelnen Adressen nicht zusammengefasst werden können. Dies ist nur möglich, wenn alle Tokens auf derselben Adresse liegen. So sparen wir letztendlich sowohl Zeit als auch Transaktionsgebühren.

    --fee-rate:

    Wichtig: Prüft Vorab auf https://mempool.space/ welche Gebühren aktuell erhoben werden, setzt diese nicht zu niedrig!

    Mempool_TX_Fees

    Notiz: Ihr könnt als Ziel-Adresse natürlich auch jede andere Taproot Adresse angeben. Beachtet aber dabei das nicht alle Wallets wissen wie Sie mit Inscriptions umgehen sollen. Daher nutzt nur Offiziel unterstützte Wallet (Unisat, Xverse, Hiro, Ordinalsafe).

    Optional: Wenn ihr den Befehl vorab testen wollt schreibt einfach ein --dry-run hinter wallet inscribe.

    Nach dem ihr den Befehl abgesendet habt, solltet ihr eine ähnliche Ausgabe erhalten:

    1{ 2 "commit": "..", 3 "inscription": "...", 4 "reveal": "...", 5 "fees": 9594 6}

    commit: Ist die TXID welche ihr jetzt mit Mempool verfolgen könnt. Einfach danach suchen.

    1.4 Prüfen

    Ob alles erfolgreich war prüfe ich immer auf OKX da ich finde das dieser den besten Ordinals Explorer bietet. Ihr könnt aber auch jeden anderen nutzen der euch genug Informationen liefert.

    Beispiel ORDI Token: OKX-Explorer

    2. Mint: Token erstellen

    Nach dem wir mit "Deploy" unseren Token definiert haben kann nun jetzt jeder User mit dem "Mint" Prozess sich seinen Anteil an Tokens sichern.

    2.1 Mint Textdatei erstellen

    Genau wie beim Deployment erstellen wir uns wieder ein Textdatei.

    1echo "" | iconv -t UTF-8 > mint-sil3.txt 2

    Der Inhalt schaut nur ein wenig anders aus:

    1{ 2 "p": "brc-20", 3 "op": "mint", 4 "tick": "sil3", 5 "amt": "1000" 6}

    Erläuterung:

    amt: Gibt den zu prägenden Betrag des BRC-20 an.

    Wichtig: "amt" darf nicht das Limit überschreiten welches wir im Deployment festgelegt haben.

    2.2 Mint einschreiben (Inscribe)

    Der Befehl ist der selbe wie beim Deployment vorgang, wir müssen nur das richtige Textfile angeben. Ich empfehle hier auch wieder immer auf die gleiche Adresse (destination) die Tokens zu Minten.

    1ord wallet inscribe --destination ZIEL_ADRESSE ~/mint-sil3.txt --fee-rate 26

    Nach dem ihr den Befehl abgesendet habt, solltet ihr eine ähnliche Ausgabe erhalten:

    1{ 2 "commit": "..", 3 "inscription": "...", 4 "reveal": "...", 5 "fees": 9594 6}

    Ob alles geklappt hat kann wieder mit dem OKX-Explorer überprüft werden.

    Notiz: Natürlich könnt ihr beim Minten auch direkt in eure Unisat oder Xverser Wallet Minten. Dann ist "Punkt 3. Transfer" für euch nicht mehr wichtig.

    3. Transfer: Tokens versenden

    Der Transfer ist etwas umständlich und besteht aus folgenden schritten:

    • Einschreiben (Inscribe) "Transfer"
    • Senden von "Transfer" Inscription an Zieladresse

    3.1 Vorbereitung

    Wir müssen hier stets eine "--destination" angeben, die ausreichend Token besitzt. Deshalb ist es so wichtig, dass wir beim Minten immer dieselbe Adresse verwenden. Nehmen wir an, dass wir 10-mal 1.000 Tokens auf die gleiche Adresse gemintet haben, können wir nun bis zu 10.000 Tokens direkt transferieren.

    Wie beim Deployment und Minten, erstellen wir uns wieder ein Textdatei.

    1echo "" | iconv -t UTF-8 > transfer-sil3.txt 2

    Dieses Mal fügen wir folgenden Inhalt hinzu und geben bei der zu transferierenden Menge (amt) in unserem Beispiel "5000" Tokens an, die wir versenden möchten:

    1{ 2 "p": "brc-20", 3 "op": "transfer", 4 "tick": "TokenName", 5 "amt": "5000" 6}

    3.2 Transfer einschreiben

    Wie auch schon beim Deployen und Minten ist auch hier die vorgehensweise die selbe. Wir geben bei unserem Befehl die --destination an welche genug Tokens hält (min. soviele wie wir versenden möchten) und achten darauf das wir die eben erstellte transfer-sil3.txt Datei angeben.

    1ord wallet inscribe --destination ZIEL_ADRESSE ~/transfer-sil3.txt --fee-rate 26

    Nach dem ihr den Befehl abgesendet habt, solltet ihr eine ähnliche Ausgabe erhalten:

    1{ 2 "commit": "..", 3 "inscription": "...", 4 "reveal": "...", 5 "fees": 9594 6}

    3.3 Prüfen

    Sobald die Transaktion bestätigt wurde könnt ihr wieder in eurem Explorer eurer Wahl prüfen ob der Token Transfer gültig ist.

    4. Versenden von Tokens an eine andere Adresse

    Dieser vorgang ist jetzt relativ simpel. Ihr sendet einfach die eben erstellte "Transfer" Inscription an eine andere Ordinals fähige Adresse.

    Dies geht mit folgenden Befehl:

    1ord wallet send --fee-rate 26 DESTINATION ADRESSE INSCRIPTION_ID

    Erläuterung:

    Destination Adresse: Wohin ihr die Tokens verschiecken wollt INSCRIPTION_ID: Die Inscription ID von der eben erstellten "Transfer" Inscription.

    Fazit

    Der Umgang mit dem BRC20-Token kann anfangs überwältigend erscheinen. Trotz umfassender Dokumentationen fehlt es oft an praxisnahen Anleitungen. Deshalb habe ich dieses Tutorial erstellt, um die Token-Erstellung, -Prägung und -Transferierung verständlich darzustellen. Besonders hervorzuheben ist die Bedeutung von einheitlichen Adressen beim Minten. Dies spart nicht nur Zeit, sondern auch Transaktionsgebühren. Mit dieser Anleitung hoffe ich, Einsteigern einen klaren und einfachen Weg im Umgang mit dem BRC20-Token und der Ord Wallet aufzuzeigen.

    Comments: