Мультиподпись стало проще

Все примеры будут использовать localhost в качестве URL-адреса по умолчанию.  

Первым шагом любого предложения msig является создание транзакции. В этом примере мы покажем, как создать транзакцию, чтобы предложить одно изменение комиссии, и как добавить несколько транзакций в одно предложение. 

Создание единой транзакции без отправки в цепочку:

./clio -u http://localhost:8889 push action -f fio.fee createfee '{"end_point":"auth_delete","type":"0","suf_amount":"400000000"}' --permission fio.fee@active -s -j -d > tx.json

Как только у вас будет один tx.json , вам нужно будет изменить файл и настроить правильную дату « истечения срока ». Как только правильная дата будет установлена, вы можете подать предложение. С этого момента вы также можете добавить несколько транзакций в одно предложение msig, продублировав следующий шаг:

Создайте еще одну транзакцию:

./clio -u http://localhost:8889 push action -f fio.fee createfee '{"end_point":"transfer_fio_domain","type":"0","suf_amount":"99800000000"}' --permission fio.fee@active -s -j -d > tx2.json

Возьми tx2.json и в разделе «действия» скопируйте тело, начинающееся с {. Пример:

{

      "account": "fio.fee",

      "name": "createfee",

      "authorization": [{

          “actor”: “fio.fee”,

          “permission”: “active”

        }

      ],

      “data”: “137472616e736665725f66696f5f646f6d61696e000000000000000000268b3c17000000”

}

Теперь, когда тело транзакции скопировано в буфер обмена, откройте главный файл tx.json и добавьте его в массив действий предыдущей транзакции. Пример:

{

      "account": "fio.fee",

      "name": "createfee",

      "authorization": [{

          “actor”: “fio.fee”,

          “permission”: “active”

        }

      ],

      “data”: “0b617574685f64656c65746500000000000000000084d71700000000”

    },{

      "account": "fio.fee",

      "name": "createfee",

      "authorization": [{

          “actor”: “fio.fee”,

          “permission”: “active”

        }

      ],

      “data”: “137472616e736665725f66696f5f646f6d61696e000000000000000000268b3c17000000”

}

Повторяйте этот шаг, пока не закончите свое предложение.

Создание предложения:

Проверка 30 лучших БП:

./clio -u http://localhost:8889 system listproducers -j -l 30 | jq -r '.producers[]

Получение разрешений производителей (топ-30 необходимы для утверждения msig):

./clio -u http://localhost:8889 system listproducers -j -l 30 | jq -r '.producers[] | ( "{\"actor\": \"" + .owner + "\", \"permission\": \"active\"}" )'

Пример вывода: 

{“actor”: “qbxn5zhw2ypw”, “permission”: “active”}

{“actor”: “hfdg2qumuvlc”, “permission”: “active”}

{“actor”: “wttywsmdmfew”, “permission”: “active”}

Предлагаем msig для установки комиссий вручную:

./clio -u http://localhost:8889 multisig propose_trx newfee1 "{"actor":"qbxn5zhw2ypw", "permission": "active"},{"actor": "hfdg2qumuvlc", "permission": "active"},{"actor": "wttywsmdmfew", "permission": "active"}" tx.json myaccount 1000000000 -p myaccount

Проверка предложения и просмотр утверждений:

./clio -u http://localhost:8889 get table eosio.msig myaccount newfee1 | jq '.rows[0].provided_approvals | length'

Выполните MSIG:

./clio -u http://localhost:8889 multisig exec myaccount newfee1 400000000 -p myaccount

Это помогло?