Как использовать Cleos для подписи транзакций с несколькими ключами
Обычно разрешения с несколькими подписями настраиваются с использованием имен аккаунтов для подписи транзакций. Пример:
Разрешение: active (Порог 2):aliceaccount@active (1)bobaccount@active (1)
Алисе и Бобу необходимо подписать вышеперечисленные транзакции, чтобы транзакция была выполнена.
Вот реальный пример:
Но что происходит, если вы настроили свои разрешения с использованием публичных ключей вместо имен аккаунтов?
Разрешение: active (Порог 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 на ВАШЕ_ИМЯ_КОШЕЛЬКА:
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
Примечание: сделайте это еще раз для другого ключа/ключей, если необходимо
Это настроит ваш кошелек для подписи с помощью двух ключей одновременно.
Вы можете вставить сырую транзакцию, но чище использовать файл:
.json cleos -u https://eos.greymass.com push transaction transaction.json
После выполнения будет возвращен JSON-данных (см. изображение выше). Скопируйте идентификатор транзакции и проверьте в блок-эксплорере.
Автор: Erick Birbe
Редактор: Markus Hinrichs; Randall Roland
Перевод: -
Источники & Ссылки:
Last updated:
Was this article helpful?
Have a specific question about this article?