Вступ

Що таке 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