Migrar pledge a Ledger Nano

¿Como mover nuestro pledge a una dirección generada desde un Hardware Wallet? Si ya cuentas con un Ledger Nano X o S estos son los pasos para proteger las ADA de tu pledge y dormir mas tranquilo.

Preparar Hardware Wallet

Lo primero que debes hacer es preparar tu wallet siguiendo los pasos provistos por el fabricante. En el caso de Ledger Nano, lo ideal es descargar el software Ledger Live desde la web del fabricante, instalar el software y seguir los pasos sugeridos al abrir la aplicación para generar tus 24 palabras de seguridad. Recuerda que esta información no debe ser compartida ni ingresada en ningún sitio web, bajo ninguna circunstancia. Opcionalmente se puede generar una billetera con un passphrase asociado al PIN como se indica en este video: https://www.youtube.com/watch?app=desktop&v=C3pP2lPUnnM

Si la app de Ledger Live sugiere actualizar el software de tu dispositivo es muy recomendable que aceptes las actualizaciones antes de seguir.

Link de Ledger Live: https://www.ledger.com/ledger-live/download

Agregar app de Cardano

Una vez listo nuestro Ledger, actualizado y conectado a nuestra aplicación de Ledger Live, vamos a la sección de Manager y buscamos "Cardano", haciendo finalmente clic en Instalar. La versión mas reciente al momento de escribir esta guía es la 2.1.0.

Instalar cardano-hw-cli

Para poder utilizar nuestra HW necesitaremos la última versión de la herramienta cardano-hw-cli, 1.1.3 al momento de escribir este artículo.

wget https://github.com/vacuumlabs/cardano-hw-cli/releases/download/v1.1.3/cardano-hw-cli-1.1.1_linux-x64.tar.gz
tar -xvzf cardano-hw-cli.1.1.3_linux-x64.tar.gz
sudo cp cardano-hw-cli /usr/bin/

Generar protocol.json

Primero nos aseguramos de tener el Ledger conectado por USB al equipo, éste debe encontrarse desbloqueado y con la app de Cardano abierta.

El primer paso es descargar los parámetros del protocolo.

cardano-cli query protocol-parameters \
--mainnet \
--out-file out/protocol.json

Llaves de payment

cardano-hw-cli shelley address key-gen \
--path 1852H/1815H/0H/0/0 \
--verification-key-file payment.vkey \
--hw-signing-file payment.hwsfile

Al ingresar este comando es necesario aprobar desde el Ledger la exportación de las llaves públicas. Para aceptar los pasos solo debes apretar los dos botones de tu Ledger en simultáneo. Los mensajes que aparecerán son:

Unusual request Proceed with care Export public key m/1852'/1815'/0'/0/0 Confirm export public key?

Al finalizar este paso tenemos nuestro llave de verificación payment.vkey y un archivo de firma de HW payment.hwsfile.

Llaves de stake

Ahora exportaremos nuestras llaves de stake para poder delegar nuestra wallet.

cardano-hw-cli shelley address key-gen \
--path 1852H/1815H/0H/2/0 \
--verification-key-file stake.vkey \
--hw-signing-file stake.hwsfile

Aquí nuevamente tendremos que aceptar las operaciones desde el Ledger, los mensajes son similares a los del paso anterior.

Unusual request Proceed with care Export public key m/1852'/1815'/0'/2/0 Confirm export public key?

Ahora contamos con nuestra llave de verificación stake.vkey y nuestro archivo de firma de HW stake.hwsfile.

Generar payment.add

cardano-cli address build \
--payment-verification-key-file payment.vkey \
--stake-verification-key-file stake.vkey \
--out-file payment.addr \
--mainnet

Generar stake.addr

cardano-cli shelley stake-address build \
--stake-verification-key-file stake.vkey \
--out-file stake.addr \
--mainnet

Registrar pool

Para este paso se asume que ya cuentas con un pool registrado y en funcionamiento. Si es un pool nuevo debes generar primero tus cold keys, VRF keys y el certificado operacional. Puedes seguir los pasos indicados en Keys y certificado del pool.

Empezamos descargando nuestro archivo metadata para calcular el hash:

cd ~/cardano-node
wget https://storage.googleapis.com/topo-pool/meta.json
cardano-cli stake-pool metadata-hash --pool-metadata-file meta.json

Con el hash que obtenemos debemos completar nuestro registro, y proporcionar los parámetros requeridos del pool.

cardano-cli stake-pool registration-certificate \
--cold-verification-key-file pool-keys/cold.vkey \
--vrf-verification-key-file pool-keys/vrf.vkey \
--pool-pledge 125000000000 \
--pool-cost 340000000 \
--pool-margin 0.01 \
--pool-reward-account-verification-key-file stake.vkey \
--pool-owner-stake-verification-key-file stake.vkey \
--mainnet \
--single-host-pool-relay relay-us1.topopool.com \
--pool-relay-port 3001 \
--single-host-pool-relay relay-de1.topopool.com \
--pool-relay-port 3001 \
--single-host-pool-relay relay-jp1.topopool.com \
--pool-relay-port 3001 \
--metadata-url 	https://storage.googleapis.com/topo-pool/meta.json \
--metadata-hash 36a8b9888e3085cee52a917c37d3de65c85f4c5b3b1150208c87fafda48ac751 \ 
--out-file pool-registration.cert

Última actualización