Cardano Wallets und Adressen verwalten

Wir laden uns die Cardano-Wallet herunter und legen diese an einen sinnvollen Ort ab, zum Beispiel:

$HOME/cardano-my-wallet

Nun fügen wir die Toolchain zum PATH hinzu, damit wir dies nicht immer aufs Neue erledigen müssen:

export PATH="$(pwd):$PATH"

Wir erzeugen uns eine MNEMONIC:

cardano-address recovery-phrase generate --size 15 > phrase.prv

phrase.prv könnte nun folgendes enthalten:

$MNEMONIC="squirrel material silly blurb direct slush pistol rasen become junk test flee squirrel squirrel twice mater material silly twice direct slush pistol razor become"

Jetzt erzeugen wir aus der MNEMONIC einen Private Key:

cardano-address key from-recovery-phrase Shelley < phrase.prv > root.xsk

Wir leiten einen extended payment signing key ab:

cat root.xsk | cardano-address key child 1852H/1815H/0H/0/0 > addr.xsk

Wir haben nun für den derivation path 1852H/1815H/0H/0/0 einen child key erzeugt. Dieser kann noch keine Transaktionen aus diesen derivation path signieren. Würden wir diesen Key verwenden, so würde es einen Fehler von der cli geben.

Das erzeugen eines child keys ist nicht notwendig, auch der root key könnte zum signieren von transaktionen verwendet werden. Trotzdem ist es best practise einen child key zu erzeugen.

Jetzt erzeugen wir einen payment signing Key, der auch mit der CLI verwendet werden kann:

cardano-cli key convert-cardano-address-key --shelley-payment-key --signing-key-file addr.xsk --out-file addr.skey

Nun gibt es diverse Möglichkeiten, wie wir die Adresse zu diesem key bekommen.

Die 1. Variante führt über einen payment verification key:

cardano-cli key verification-key --signing-key-file addr.skey --verification-key-file addr.vkey
cardano-cli address build --mainnet --payment-verification-key-file addr.vkey --out-file payment.addr

Die 2. Variante würde über das Kommando cardano-address führen

cat addr.xsk | cardano-address key public --with-chain-code | cardano-address address payment --network-tag mainnet > payment.addr

Exkurs – Der derivation path:

Wer im Daedalus eine adresse anklickt sieht etwas wie dies hier:

m/1852/1815/0/0/3

Das ist der derivation path. Im Einzelnen bedeutet es folgendes:

m / purpose / coin_type / account_index / role / address_index

1852 ist der hardgecodete Shelly-era address type, 1815 ist der hardgecodete ADA index (coin_type – ADA). Der address_index, ganz am Ende wird mit jeder neu erzeugten Adresse um 1 erhöht.

Scroll to Top