Vai al contenuto principale

Come utilizzare cleos per firmare transazioni con chiavi multiple

Quando hai impostato le autorizzazioni con le chiavi anziché con i nomi degli account

Dario Cesaro avatar
Scritto da Dario Cesaro
Aggiornato oltre 2 anni fa

Per lo più, le autorizzazioni multi-firma vengono impostate utilizzando i nomi degli account per firmare le transazioni. Esempio:

  • Permission: active (Threshold 2):

    • aliceaccount@active (1)

    • bobaccount@active (1)

Alice e Bob devono firmare le transazioni di cui sopra affinché la transazione venga eseguita.

Ecco un esempio reale:

Ma cosa succede se hai impostato le tue autorizzazioni utilizzando le chiavi pubbliche anziché i nomi degli account?

  • Permission: active (Threshold 2):

    • PUB_K1_6ies8fT5dUNmVDG6CSSfwVcn6jvJakW6R3YLfHgUPcknxna9nT (1)

    • PUB_K1_5fHPq9GpZxTPQHAw8pq3SpYFLday8q9T6ezsMwBCNydphTjamt (1)

Ciò significa che le transazioni di questo account devono essere firmate dalle due chiavi pubbliche affinché la transazione possa essere eseguita.

Il problema qui è che non è disponibile alcuna opzione per firmare transazioni con più chiavi su un portafoglio EOS intuitivo. Pertanto, è necessario utilizzare una riga di comando per risolvere questo problema.

Configurazione di `cleos` per firmare con le chiavi multiple

Cleos è l'interfaccia a riga di comando che interagisce con tutte le blockchain di EOSIO. Se non hai cleos, puoi installarlo qui:

Dopo aver installato Cleos, crea un portafoglio. In questo esempio creeremo un portafoglio chiamato support (questo è solo un nome referenziale, non un nome account EOS) e chiederemo a cleos di stampare il risultato sulla console del terminale per ottenere la password che viene generata automaticamente per questo portafoglio:

cleos wallet create -n support --to-console

Importante: Copia e salva la tua nuova password per il portafoglio creato. Avrai bisogno di questa password ogni volta che il portafoglio è bloccato.

Cleos blocca i portafogli quando sono inattivi per un po' di tempo. Per sbloccare usa la seguente riga di comando sostituendo il support con YOURWALLETNAME:

cleos wallet unlock -n support

Per questo esempio aggiungeremo due chiavi private.

Importa le chiavi private degli account:

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

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

Nota: ripetere l'operazione per l'altra/e chiave/e, se necessario

Questo imposterà il tuo portafoglio per firmare utilizzando due chiavi contemporaneamente.

Puoi inserire la transazione RAW, ma è più pulita usando un file:

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

Una volta eseguito, verrà restituito un dato JSON (vedi l'immagine sopra). Copia il tuo ID transazione e verifica su Block Explorer.


Autoer: Erick Birbe

Editore: Markus Hinrichs

Traduttore: Peter Valenčič

Fonti & Risorse:

Hai ricevuto la risposta alla tua domanda?