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: