Создание и подпись пропозалов Писарем


Пропозал (angl. proposal - предложение) это по сути отложенная транзакция которая исполняется в заданное время и может содержать одну или несколько операций. Так как транзакция отложенная, то к примеру для аккаунтов с мультисигом есть время на сбор всех подписей.

У пропозала имеются следующие атрибуты.

author - Автор пропозала
title - Заголовок, впоследствии используется как reference на пропозал для подписи. Может быть на русском, но лучше много не писать текста.
memo - Сопроводительная заметка. Свободный текст
expiration_time - время срабатывания транзакции
review_period_time - время до которого следует собрать необходимое колличество подписей. После наступления указанного времени пропозал нельзя подписывать/отзывать подписи.

В следующих примерах я использую аккаунт bobot у которого в ауторити прописаны другие аккаунты и установлен уровень срабатывания 2

image.png

Создание пропозала

Вот пример пропозала для перевода токена GOLOS с аккаунта bobot на аккаунт ropox

https://gropox.github.io/sign/?user=ropox&tr=[[
    "proposal_create",
    {
      "author": "ropox",
      "title": "Перевод за работу",
      "memo": "Проверка переводов",
      "expiration_time": "2019-09-21T18:50:00",
      "proposed_operations": [
        {
          "op": [
            "transfer",
            {
              "from": "bobot",
              "to": "ropox",
              "amount": "0.031 GOLOS",
              "memo": "На чай"
            }
          ]
        }
      ],
      "review_period_time": "2019-09-21T18:45:00",
      "extensions": []
    }
]]

Если весь вышеприведенный текст скопировать и вставить в адресную строку браузера, то откроется интерфейс Писаря для создания транзакции. Я воспользовался вкладкой "Подпись ключем". На ней можно выбрать публичную ноду для отправки транзакции и ввести ключ. Так как я автор пропозала, то и подписывать буду своим активным ключем. Активным, потому, что в пропозале трансфер, которому требуется подпись активным ключем. Кстати в одной транзакции нельзя смешивать операции требующие разных уровней ауторити. Нельзя добавить к примеру операции vote и transfer в одну транзакцию.

image.png

Отправляем транакзцию в блокчейн

image.png

Подпись пропозала

Что бы подписать созданный пропозал можно воспользоваться следующей операцией

https://gropox.github.io/sign/?user=ropox&tr=[[
"proposal_update",
        {
          "author": "ropox",
          "title": "Перевод за работу",
          "active_approvals_to_add": [
            "lotobot"
          ],
          "active_approvals_to_remove": [],
          "owner_approvals_to_add": [],
          "owner_approvals_to_remove": [],
          "posting_approvals_to_add": [],
          "posting_approvals_to_remove": [],
          "key_approvals_to_add": [],
          "key_approvals_to_remove": [],
          "extensions": []
        }
]]

В данном случае, я добавляю подпись аккаунта lotobot к пропозалу. Как видно я добавляю активное ауторити lotobot. Из параметров думаю ясно, что можно так же отозвать подпись добавив "lotobot" в массив active_approvals_to_remove. Если бы у bobot в ауторити были бы прописаны ключи, то можно добавить ключ в key_approvals_to_add и подписать соотвествующим приватным ключем (но это не точно, так как я не тестировал)

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

image.png

И отправляем

image.png

Ну и в заданное время, блокчейн выполнит указанную операцию в пропозале. Так как блоки формируются кажде 3 секунды, может быть задержка до 3 секунд.

image.png

Заключение

Применять это конечно же можно не только с мультисиг-аккаунтами (аккаунтами у которых порог срабатывания более 1 и потому требуются подписи нескольких участников, указанных в ауторити). Это можно так же использовать к примеру для отложенного постинга, в заданное время. Можно создать 40 операций голосования на сутки вперед, каждые 36 минут. Эти операции выполнятся автоматически с полным весом голоса. Не нужен бот для этого. При условии конечно, что есть качественный контент для голосования. Возможно есть и другие варианты использования.


Comments 20


@ropox Георгий. а можно ли про отложенный постинг поподробнее и отдельной инструкцией? это было бы так удобно...

21.09.2019 20:14
0

@ladyzarulem надо учесть, что текст все равно надо будет записать в блокчейн, так что при желании можно его зарание прочитать. Но это смогут только знающие люди сделать. Посмотреть всмысле.

Сейчас постараюсь написать

21.09.2019 20:17
0

@fomka хрю

21.09.2019 20:17
0

@fomka да. я поняла. но все равно хочется эту штуку) так было удобно у Толи! не надо ключи хранить и открывать дополнительно )))

21.09.2019 21:01
0

@ladyzarulem слишком просто тогда будет! не интересно, скучно

22.09.2019 10:40
0

@erikkartmen мы найдем себе иное развлечение))) не заскучаем, знаю точно)

22.09.2019 21:45
0

@ropox вариант с отложенным постингом предлагали?

21.09.2019 20:22
1

@ksantoprotein это кому то делать надо. Я лично не собирался. Может Вик сделает, если его попросят. У него была форма для постинга.

21.09.2019 20:46
1

@ropox было бы замечательно гуй приделать под эти фичи писарю для бабушек.

21.09.2019 20:23
1

@blockchained Да я думал, раз уж сделали уже форму для мультиподписи, тудпа добавить формирование url для Писаря. Как альтернативный метод подписи транзы. Кто хочет может там прямо подписывать, а я лично бы через Писаря.

21.09.2019 20:45
12

@ropox, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующей категории:

  • комментарии - 6 позицию - 8 комментарии
22.09.2019 06:01
0

Хрю!

22.09.2019 07:27
0

Hello, @ropox. You received 100% upvote from UPRomo for burned GBG. Promoted this post in the queue: @ropox.
Service added about 41.217 GBG to your post.

The instruction for burning, for promotion or a drop of posts.

Invest in UPRomo and promote increase in number of the burned GBG.

Agreement on the use of service UPRomo.


Здравствуйте, @ropox. Вы получили 100% апвот от UPRomo за сожженные GBG. Продвигали этот пост в очереди: @ropox.
Сервис прибавил к вашему посту примерно 41.217 GBG.

Инструкция по сжиганию для продвижения или задвигания постов.

Инвестируйте в UPRomo и способствуйте увеличению количества сжигаемых GBG.

Соглашение об использовании UPRomo.

22.09.2019 07:54
0