Мультиподписные кошельки Эфира, вариант через Gnosis
Задавал я когда-то в нескольких местах вопрос и даже удивился, когда ответов на него кроме как "сам напиши" не последовало. Мы знаем, что мультиподписной кошель можно создать и в Мисте том же, но задача несколько иная была. Я вообще удивлен, что в наступившую эпоху децентра народ стал все более скуп на инфу и помощь. Все зарабатывают даже на примитивнейшем консалтинге. Плохо это. К хорошему не приведет.
В общем для тех кому тоже будет это нужно, особенно для сбора или хранения бабла.
На эфире мультиподписной кошелек - это контракт.
Идете на wallet.gnosis.pm
Там возможны два варианта генерации контрактов мультиподписи - на встроенном фэктори и на кастомном адресе, я выбирал кастом, это в Settings делается.
Сразу скажу, что сервис по юзабилити не самый прозрачный, но там главное помнить одну суть
Авторизация через метамаск и то, что вы видите на экране это элементы для ТЕКУЩЕГО адреса с которого вы авторизованы в Метамаске.
Второй момент, что для создания мультиподписного кошелька вам нужно будет указать адреса-подписанты, если адрес с которого вы авторизованы не входит в их число, то элементы управления будут работать только после того, как вы авторизуетесь с кошельков подписантов через метамаск опять же, контролируйте верхню строку на экране, там показывается текущий АВТОРИЗОВАННЫЙ адрес.
САМЫЙ ГЛАВНЫЙ КОСЯК! Операции которые не могут быть выполнены сервисом не отклоняются, он все равно создает тразакцию которую контракт просто отфутболит, вы это увидите не раньше чем смайнится транзакция
Кошель создается на вкладке Wallets, жмете Add. Предложит варианты, выбирайте создание нового, дажее предложит ввести подписантов с возможностью удалить адрес с которого авторизованы, лимиты и число необходимых подписунов, есть глючок, что если автор в числе подписунов то допустим вы не постаивте 2 из 2 при двух подписунах включая автора. Это не страшно, можно ставить пока 1, потом можно добавлять и удалять подписунов при подтверждении этой операции всей толпой.
В общем когда вы указали подписантов, пошла транзакция на создание контракта. Можете контролировать на вкладке Transactions. В какой-то момент в левом столбце появится ссылка ввиде адреса контракта, шлепайте по ней и попадете в Etherscan. Там копируйте код создаваемого контракта, он может появиться далеко не сразу, зависит от загрузки сети, в общем берете адрес создаваемого контракта открываете обратно гнозиз, вкладку Wallets жмете Add выбираете Restore и вставляете адрес созданного контракта. Все, в списке появится ваш кошель с мультиподписью.
В него можно добавлять подписантов, удалять подписантов, менять лимиты, (ноль это безлимит) и т.д. НО все эти действия требуют подтверждения ВСЕХ подписантов кошелька
Подписание происходит так
Каждый из подписантов, авторизованный со своего адреса эфира так же в гнозисе при шлепке на имени кошелька попадает к списку параметров и операций кошелька. Если кем-то из подписунов запущена какая-либо операция у остальных подписунов в списке операции отоборазится она же с кнопкой Confirm. Confirm - это подписать. По умолчанию инициировавший действие считается уже подписавшим.
Важно помнить, что тут любое действие - это транзакция эфира от адреса с которого в в данный момент АВТОРИЗОВАНЫ в гнозисе через Метамаск, к самому контракту если он кастомный либо к контрату-фэктори если выбрали его. Поэтому хорошо иметь какое-то баблишко на газ при конфигурировании кошелько и у подписунов тоже, для транзакций подписания вывода.
Как-то так, если сложно или остаются вопросы готов подсказать.