Vai al contenuto principale
Tutte le collezioniTutorial passo a passoFunzioni e procedure dei wallet EOS
Come utilizzare cleos per firmare transazioni con chiavi multiple
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?