Введение

Что такое Specialized Multisig?

Хотя существует общий контракт с несколькими подписями, который позволяет кворуму подписывающих лиц утверждать произвольные команды Майкельсона в блокчейне. Контракт ведет себя больше как пользователь, за произвольное действие которого голосуют, чем как охранник.

Что подразумевается под «арбитражным действием»? Этот универсальный контракт с несколькими подписями принимает произвольный код Майкельсона в качестве основного входа: подписавшие должны знать, что делает этот код, чтобы знать, за что они голосуют.

Мы используем другой подход: контракт с несколькими подписями специализируется на конкретном типе контракта, который вы хотите использовать с ним. То есть параметры контракта с несколькими подписями должны соответствовать параметрам контракта, которым он управляет.

Он будет выполнять только те действия, которые ожидает ваш контракт. Это предотвращает выполнение любых действий, которые не поддерживает базовый контракт.

Чтобы настроить специализированный контракт с несколькими подписями и взаимодействовать с ним:

  • Используйте инструмент командной строки lorentz-contract-mulitsig для создания вашего контракта с функцией мультиподписи со специализированным типом целевого параметра

  • Отправьте подписанные байты транзакции с помощью tezos-client всем участвующим администраторам

Настройка

Следуйте инструкциям в настройке клиента, чтобы настроить tezos-client и создать тестовый сетевой кошелек.

Клонируйте репозиторий lorentz-contract-multisig и следуйте инструкциям в README, чтобы установить зависимости, необходимые для использования lorentz-contract-multisig.

Не забудьте настроить ALICE_ADDRESS и BOB_ADDRESS в тестовой сети, как описано здесь; мы будем использовать эти переменные в этом руководстве.

Получение вашего открытого ключа

Мы хотим, чтобы наши публичные / приватные ключи работали с клиентом:

Вот удобный способ получить их, если tezos-client зарегистрировал / активировал вашу учетную запись:

get_public_key(){ tezos-client show address $1 2>/dev/null | tail -n 1 | cut -d " " -f 3;}
get_secret_key(){ tezos-client show address $1 -S 2>/dev/null | tail -n 1 | cut -d ":" -f 3;}
$ get_public_key alice

edpkvCHgVArnZo9RTP4P6euLTyhE89u73CYjBgsP4wEJbj4quao9oR

Материалы разработаны TQ Tezos переведены на русский язык Tezos Ukraine

Last updated