Ir al contenido principal
Todas las coleccionesTutoriales paso a pasoEOS Wallet Funciones y Procedimientos
Cómo Usar cleos para Firmar Transacciones con Múltiples Llaves
Cómo Usar cleos para Firmar Transacciones con Múltiples Llaves

Cuando ha establecido sus permisos con Llaves en lugar de Nombres de Cuenta

Dario Cesaro avatar
Escrito por Dario Cesaro
Actualizado hace más de un año

En su mayoría, los permisos de múltiples firmas se configuran utilizando nombres de cuenta para firmar transacciones. Ejemplo:

  • Permission: active (Threshold 2):

    • aliceaccount@active (1)

    • bobaccount@active (1)

Alice y Bob deben firmar las transacciones anteriores para que se ejecute la transacción.

Aquí hay un ejemplo real:

Pero, ¿qué sucede si ha configurado sus permisos utilizando las llaves públicas en vez de los nombres de cuenta?

  • Permission: active (Threshold 2):

    • PUB_K1_6ies8fT5dUNmVDG6CSSfwVcn6jvJakW6R3YLfHgUPcknxna9nT (1)

    • PUB_K1_5fHPq9GpZxTPQHAw8pq3SpYFLday8q9T6ezsMwBCNydphTjamt (1)

Esto significa que las transacciones de esta cuenta deben estar firmadas por las dos claves públicas para que se ejecute.

El problema aquí es que no hay una opción disponible para firmar transacciones con múltiples claves en alguna billetera EOS fácil de usar. Por lo tanto, se debe usar la línea de comandos para resolver este problema.

Configurando `cleos` para firmar con múltiples claves

Cleos es la interfaz de línea de comandos que interactúa con todas las cadenas de bloques de EOSIO. Si no tienes cleos, puedes instalarlo aquí:

Después de instalar Cleos, cree una billetera. En este ejemplo, crearemos una billetera llamada "support" (este es solo un nombre de referencia, no un nombre de cuenta EOS) y le pediremos a Cleos que imprima el resultado en la consola de la terminal para obtener la contraseña que se genera automáticamente para esta billetera:

cleos wallet create -n support --to-console

Importante: Copie y guarde su nueva contraseña para la wallet creada. Necesitará esta contraseña cada vez que se bloquee la wallet.

Cleos bloquea las wallets cuando están inactivas. Para desbloquear, utilice la siguiente línea de comandos sustituyendo support por YOURWALLETNAME:

cleos wallet unlock -n support

Para este ejemplo, añadiremos dos claves privadas.

Importe las claves privadas de las cuentas:

cleos wallet import --private-key PVT_K1_28t8rJAwm2ezAxNUJjLjHJ4bFvMMPfDocTJxz23NePNWPe5gVp -n support

cleos wallet import --private-key PVT_K1_QCknBCMuqAhKF7STxFNHR8Rdx8HEoNg9rUP8rgWDfQvm9vfoC -n support

Nota: si es necesario, repita el proceso para las otras llaves.

Esto configurará tu wallet para firmar usando dos claves simultáneamente.

Puedes poner la transacción RAW, pero es más limpio usar un archivo .json:

cleos -u https://eos.greymass.com push transaction transaction.json

Una vez ejecutado, se devolverá un dato JSON (ver la imagen de arriba). Copie su ID de transacción y verifíquelo en el explorador de bloques.


Autor: Erick Birbe

Editor: Markus Hinrichs; Randall Roland

Traductor: Erick Birbe, Cristhian Rincon

Fuentes y Referencias:

¿Ha quedado contestada tu pregunta?