В основном разрешения на мультиподпись устанавливаются с использованием имен аккаунтов для подписания транзакций. Пример:
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
Источники и ссылки: