Все коллекции
Пошаговые инструкции
Создание аккаунта в EOS
Как использовать Cleos для подписания транзакций с несколькими ключами
Как использовать Cleos для подписания транзакций с несколькими ключами

При установке прав доступа с использованием ключей вместо имен аккаунтов

Dario Cesaro avatar
Автор: Dario Cesaro
Обновлено больше недели назад

В основном разрешения на мультиподпись устанавливаются с использованием имен аккаунтов для подписания транзакций. Пример:

  • Permission: active (Threshold 2):

    • aliceaccount@active (1)

    • bobaccount@active (1)

Для того чтобы транзакция была выполнена, Алиса и Боб должны подписать указанные операции.

Приведем реальный пример:

Но что произойдет, если вы установили права доступа, используя не имена аккаунтов, а открытые ключи?

  • Permission: active (Threshold 2):

    • PUB_K1_6ies8fT5dUNmVDG6CSSfwVcn6jvJakW6R3YLfHgUPcknxna9nT (1)

    • PUB_K1_5fHPq9GpZxTPQHAw8pq3SpYFLday8q9T6ezsMwBCNydphTjamt (1)

Это означает, что транзакции этого аккаунта должны быть подписаны двумя открытыми ключами, чтобы транзакция могла быть выполнена.

Проблема заключается в том, что в удобном для пользователя кошельке EOS нет возможности подписывать транзакции несколькими ключами. Поэтому для решения этой проблемы приходится использовать командную строку.

Настройка `cleos` для подписи несколькими ключами

Cleos - это интерфейс командной строки, который взаимодействует со всеми блокчейнами AntelopeIO. Если у вас нет Cleos, вы можете установить его отсюда:

После установки Cleos создайте кошелек. В этом примере мы создадим кошелек под названием support (это только имя ссылки, а не имя аккаунта EOS) и попросим cleos вывести результат на консоль терминала, чтобы получить пароль, который автоматически генерируется для этого кошелька:

cleos wallet create -n support --to-console

Важно: Скопируйте и сохраните новый пароль для созданного кошелька. Этот пароль будет нужен каждый раз, когда кошелек будет заблокирован.

Cleos блокирует кошельки, когда они находятся в состоянии простоя. Для разблокировки используйте следующую командную строку, заменив support на YOURWALLETNAME:

cleos wallet unlock -n support

В данном примере мы добавим два закрытых ключа.

Импортируйте закрытые ключи аккаунтов:

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

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

Примечание: при необходимости повторите процедуру для других ключей.

Это позволит настроить кошелек на одновременную подпись двумя ключами.

Можно поместить транзакцию RAW, но удобнее использовать файл:


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

После выполнения вернется JSON-данные (см. рисунок выше). Скопируйте идентификатор транзакции и проверьте его в блок-эксплорере.


Автор: Erick Birbe

Редакторы: Markus Hinrichs; Randall Roland

Перевод: Evgeny Chirochkin

Источники и ссылки:

Нашли ответ на свой вопрос?