Guía de uso para Ledger wallet en Cosmos (desde la terminal de Linux):

Wimel
Wimel
Jun 13 · 8 min read

Esta guía es para configurar la Ledger wallet para su uso con Cosmos, la configuración está realizada con Ubuntu 18.04LTS.


En Linux podemos tener problemas de conexión con el cable USB, si es así aquí están los pasos explicados en la página web de Ledger.

Nos movemos por el menú en la Ledger con los dos botones, si presionamos ambos a la vez confirmamos, y con uno de ellos nos desplazamos por el menú.

El primer paso es dirigirnos a la web de Ledger para descargar su App, en mi caso elijo Linux, también hay aplicaciones para Windows, Mac OS, IOS y Android.

Una vez que hemos hecho click en el enlace nos descarga un archivo llamado

ledger-live-desktop-1.9.1-linux-x86_64.AppImage

(AppImage es un paquete similar a las aplicaciones portables de Windows. Así que un programa con AppImage no se instala sino que se ejecuta y para ello no necesitaremos utilizar los permisos de administrador).

Abrimos una terminal en la carpeta en la cual se haya descargado la App y le damos permisos de ejecución:

$ chmod a+x ledger-live-desktop-1.9.1-linux-x86_64.AppImage

Después, simplemente tenemos que hacer doble clic en el icono para ejecutar la aplicación.

Una vez abierta, nos sale el mensaje de bienvenida con un botón para empezar (“Get started”) en el que haremos clic.

Aparecerá otro mensaje preguntando qué queremos hacer, una configuración inicial, restaurar … Para el ejemplo vamos a hacer una instalación como un dispositivo nuevo, así que hacemos clic en “Initialize as new device

Seleccionamos el tipo de dispositivo que tenemos, en mi caso Ledger Nano S

En este paso debemos conectar la Ledger al PC, y presionar los dos botones a la vez para empezar.

Nos pregunta si queremos configurarlo como un nuevo dispositivo, presionamos el botón de la derecha.

En el siguiente paso debemos elegir un pin para desbloquear la Ledger, para ello presionamos los dos botones, e introducimos 8 números.

Saldrá un aviso para recordar que debemos copiar nuestras 24 palabras de recuperación, este paso es importante, debemos copiar muy bien nuestras palabras para no tener problemas en un futuro.

Una vez que hemos copiado las 24 palabras la Ledger nos pregunta para confirmar las palabras de recuperación, presionamos los dos botones.

En el siguiente paso irá preguntando por las palabras y debemos seleccionar las que nos haya mostrado en el paso anterior.

Cuando finalizamos la Ledger avisará que nuestro dispositivo está listo.

Presionamos los dos botones para confirmar y veremos el primer menú de la Ledger, desde este paso podemos continuar en el ordenador, nos hará unas preguntas y comprobará que la Ledger sea un dispositivo original. Hacemos clic en “Check now” para realizar la comprobación de que es original y en el dispositivo tendremos que presionar el botón derecho para confirmar.

Después introducimos una contraseña para evitar el acceso desde el ordenador y hacemos clic en “Continue”.

El siguiente paso es para compartir datos anónimos (o no, quien sabe).

Como muestra ya tenemos nuestro dispositivo listo para usarlo, ahora podemos hacer clic en “Open Ledger Live

La primera vez que iniciamos el dispositivo aparece un menú, en la parte izquierda seleccionamos “Manager”, comprobamos que el firmware del dispositivo está en su última versión.

Necesitamos tener instalado en el ordenador gaiacli, en la terminal escribimos:

$ gaiacli version –-long

Debería mostrar lo siguiente (cuando se escribe esta guía es la última versión estable):

Instalando la App de Cosmos en nuestra Ledger:

Para poder ver la Aplicación de Cosmos en la Ledger debemos hacer clic en el icono del engranaje de arriba a la derecha, después seleccionamos “Experimental features” y marcamos “Developer mode

Una vez en el menú “Manager” buscamos Cosmos, en mi caso voy a elegir la última versión (1.5.0), y hacemos clic en “Install”:

Cuando ha finalizado nos aparece un mensaje en la pantalla del ordenador, podemos apreciar en la pantalla de la Ledger que ya aparece Cosmos y su logo.

Dejamos conectada la Ledger y abrimos la App de cosmos.

En la terminal de nuestro ordenador, escribiremos los siguientes comandos para añadir una nueva wallet de Cosmos en nuestra Ledger (sustituir wimel por el nombre que queráis darle a vuestra wallet):

$ gaiacli keys add wimel –-ledger

En la Ledger nos aparece un mensaje de aviso para aceptar la cuenta creada, presionamos el botón derecho de la Ledger para confirmar y nos crea la wallet.

Comprobamos que la wallet se ha creado correctamente escribiendo en la terminal:

$ gaiacli keys list

Configurando la conexión con un nodo de Cosmos:

Configuramos gaiacli para usarlo, bien con nuestro nodo o con un nodo de terceros. Podemos seleccionar nuestro ordenador como nodo principal o usar un nodo externo, en el ejemplo vamos a usar el nodo de DelegaNetworks.

  • Para configurar nuestro nodo como principal:
$ gaiacli config node tcp://localhost:26657
  • Para configurar un nodo externo:
$ gaiacli config node 144.76.155.231:26657

Hacemos que gaiacli recuerde la cadena actual de Cosmos (actualmente cosmoshub-2), escribiendo en la terminal:

$ gaiacli config chain-id cosmoshub-2

Comprobamos que nuestra wallet existe y tiene fondos con el comando (sustituye “<wallet>” por la tuya):

$ gaiacli query account <wallet>

Haciendo una transacción desde la Ledger:

Comprobamos las wallets importadas en nuestro ordenador con el siguiente comando:

$ gaiacli keys list

La transacción se realiza con el siguiente comando, tendremos que aceptar la transacción en la Ledger:

$ gaiacli tx send cosmos14maa2kdtcdctlhl32cfszv3ypwswuup47Xgd57 500000uatom --memo=FirstHowTo --chain-id=cosmoshub-2 --from=cosmos16jg9hvs45jvzdys7py64y4ydlzylakmqjnrwjk --fees=5000uatom

Pero vamos a explicar ese comando para entender cada uno de los parámetros:

=> gaiacli tx send cosmos14maa2kdtcdc…

Con este comando usamos gaiacli para hacer la transacción, después de él, añadimos la wallet a la cual queremos enviar los fondos (el destino) en nuestro caso cosmos14maa2…

=> 500000uatom

La cantidad de ATOMs que queremos enviar, cabe recordar que 1ATOM es igual a 1,000,000UATOMs.

=> — memo=FirstHowTo

El campo MEMO sirve para añadir información en la transacción, ésta información quedará registrada en la blockchain.

=> — chain-id=cosmoshub-2

Este indica en la red que queremos hacer la transacción.

=> — from=cosmos16jg9hvs55jv…

La wallet desde la que realizamos la transacción.

=> — fees=5000uatom

El FEE (la comisión) que queremos pagar por la transacción (podemos modificarlo).

Delegando fondos con nuestra Ledger:

Cuando se hace una delegación (stake) el validador no tiene ningún poder sobre esos fondos.

Las delegaciones bloquean los fondos por un mínimo de 3 semanas, para poder hacer uso de los fondos tenemos que liberar los fondos (unbond).

La transacción para delegar fondos se hace escribiendo lo siguiente en la terminal:

$ gaiacli tx staking delegate cosmosvaloper1uutuwrwt3z2a5z8z3uasml3rftlpmu25aga5c6 400000uatom --from=wimel

Como antes vamos a explicar la transacción:

=> gaiacli tx staking delegate cosmosvaloper1uutuw

Con este comando usamos gaiacli para delegar nuestros fondos, seguido de la address del validador, en nuestro caso cosmosvaloper1uutu…

=> 400000uatom

Cantidad que queremos delegar (como antes en UATOMs)

=> — from=wimel

Desde la wallet que queremos hacer la transacción.

Obteniendo las recompensas de nuestra delegación:

Obtenemos las recompensas de nuestra delegación con el siguiente comando:

$ gaiacli tx distr withdraw-all-rewards --from=wimel

Expliquemos la transacción:

=> gaiacli tx distr withdraw-all-rewards

Usamos gaiacli para obtener toda nuestra recompensa.

=> — from=wimel

La wallet creada/importada en nuestro ordenador desde la qué realizamos la delegación.

Como liberar (“unbond”) los fondos de nuestra delegación (“Stake”):

Una vez que hemos delegado (o realizado el “stake) nuestros fondos permanecen bloqueados por un mínimo de 3 semanas, para poder mover esos fondos tenemos que liberarlos.

Realizamos la transacción con el siguiente comando:

$ gaiacli tx staking unbond cosmosvaloper1uutuwrwt3z2a5z8z3uasml3rftlpmu25aga5c6 400000uatom --from=wimel

Como antes vamos a explicar que hemos hecho:

=> gaiacli tx staking unbond cosmosvaloper1uutuwr

Usamos gaiacli para liberar (unbond) nuestros fondos, seguidos de la address del validador cosmosvaloper1uutuwr….

=> 400000uatom

La cantidad que queremos liberar (como antes 1ATOM=1,000,000UATOMs)

=> — from=wimel

La wallet desde la que hicimos la delegación (stake)

Espero que esta guía les sirva de ayuda.

Wimel

Written by

Wimel

Ethereum enthusiast, Maker, love Linux systems, open source and security.