Nota del editor: Ariel Robotti, developer de Mushroom Protocol y miembro de la comunidad de Zona Tres, nos comparte cómo usar una misma Internet Identity en la blockchain de Internet Computer Protocol (ICP). Internet Identity es un framework de autenticación Web3 que mantiene nuestra identidad y datos alejados de las aplicaciones Web2 o Web3.
Escrito por Ariel Robotti.
Si por ejemplo queremos exportar desde el dispositivo de origen una Identity llamada PetChain, e importarla en otro dispositivo utilizando la interfase de comandos dfx, debemos seguir los siguientes pasos.
En el dispositivo de origen
-
- Ejecutando el siguiente comando: dfx identity export PetChain obtendremos una salida por consola de este tipo:
Pero no os precipitéis. En lugar de copiar el texto obtenido y pegarlo en un archivo.pem guardaremos la salida directamente en un archivo con la siguiente variante del mismo comando
dfx identity export PetChain > exportIdentityPetChain.pem
Como vemos, se generó el archivo exportIdentityPetChain.pem que necesitaremos para importar la identity en el otro dispositivo
-
- Otro dato que necesitaremos conocer de nuestro dispositivo de origen es el ID de la wallet vinculada a nuestra identity, para lo cual debemos verificar que estamos usando actualmente la identity que queremos exportar. El comando dfx identity list nos muestra la lista de todas las identity que hemos creado en nuestro sistema. La identity actualmente en uso aparecerá con un *. De ser necesario, con el comando dfx identity use <identidad> podremos seleccionar la identidad correcta. Luego ejecutaremos el comando dfx identity get-wallet –network ic lo cual nos devolverá el principal ID de nuestra wallet. También podríamos ahorrarnos el paso de copiar y pegar y en cambio guardar directamente esa información en un archivo usando la variante dfx identity get-wallet –network ic > walletID.txt lo cual nos generará el archivo walletID.txt
En el dispositivo de origen
-
- Debemos guardar en un directorio del dispositivo de destino, los archivos generados previamente en el dispositivo de origen, y estar parados en dicho directorio. Ejecutaremos en nuestro caso el comando dfx identity import PetChain exportIdentityPetChain.pem
- Lo siguiente es vincular la identity recién importada con su wallet. Podemos ver que el comando dfx wallet balance –network ic ejecutado desde la nueva identity nos indica que aún no está vinculada la wallet.
Y vemos además que se nos indican dos formas de resolver el problema. Ejecutando el comando dfx identity set-wallet <walletID> en donde <walletID> es el principal ID que hemos guardado en el archivo walletID.txt, finalmente tendremos identity importada en el nuevo dispositivo con su wallet correctamente vinculada. - Se recomienda eliminar en ambos dispositivos los archivos generados para el proceso, en este caso el archivo exportIdentityPetChain.pem y el archivo walletID.txt.