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

Тема в разделе "Развитие, бюджеты, поддержка проектов", создана пользователем ivanr, 27 авг 2017.

    Перевести тему на английский язык
  1. ivanr

    ivanr Moderator Команда форума

    Как создавать предложения по расходованию средств из бюджета сети

    Стоимость создания предложения 5ч, поэтому прежде чем создавать новое предложение, стоит убедиться что это вообще имеет смысл. Для этого рекомендуется добавить описание вашего предложения в соответствующей теме форума:

    Пожалуйста, войдите или зарегистрируйтесь для просмотра ссылок

    и завести новую тему для обсуждения предложения в разделе "Развитие, бюджеты, поддержка проектов". Также стоит написать об этом в Пожалуйста, войдите или зарегистрируйтесь для просмотра ссылок.

    Если вы чувствуете, что сообщество готово поддержать ваше предложение, то тогда приступаем непосредственно к созданию предложения:

    1. Сначала нужно подготовить описание предложения в специальном json-формате, как показано в примере:

    [["proposal",{"end_epoch":"1503925400","name":"sibbot-development-avgust","payment_address":"SWTC5ZsL9Ueb6ZiQNxG3fX2qWyqMTKJB8T","payment_amount":"1000","start_epoch":"1501376600","type":1,"url":"Пожалуйста, войдите или зарегистрируйтесь для просмотра ссылок"}]]

    где namе - это название предложения,
    payment_address - адрес для выплат,
    url - ссылка на подробное описание вашего предложения, например ссылка на тему форума,
    type - всегда равно 1, это тип т. н. Gobject-а, который вы создаете, в данном случае предложение,
    start_epoch - время начала действия предложения в формате unix timestamp,
    end_epoch - время завершения действия предложения в формате unix timestamp.

    Конвертировать обычную дату в unix timestamp можно например здесь:

    Пожалуйста, войдите или зарегистрируйтесь для просмотра ссылок
    Пожалуйста, войдите или зарегистрируйтесь для просмотра ссылок

    Время нужно подобрать таким образом, чтобы в момент создания суперблока с выплатами, ваше предложение было действительно. В качестве start_epoch разумно взять текущее время, а вот end_epoch нужно подобрать в зависимости от того, на сколько выплат вы претендуете. Если речь идет об одной выплате в ближайшем месяце, то я обычно просто прибавляю к start_epoch 2548800, это 29.5 дней. Если вы претендуете на несколько выплат в течение нескольких месяцев, тогда стоит прибавить 2548800 столько раз, сколько выплат вы хотите получить. Если до следующего суперблока больше 27 дней, то значение лучше увеличить немного, например на 500000, чтобы точно попасть в суперблок.

    Важно! Предложения имеет смысл создавать хотя бы за двое суток (~1100 блоков) до суперблока. Номер ближайшего суперблока можно узнать при помощи команды getgovernanceinfo, в ответе будет массив в котором будет поле nextsuperblock, с номером следующего суперблока. Это связано с тем, что предложения созданные меньше чем за сутки до супеблока считаются «сырыми», плюс люди должны еще успеть проголосовать.

    2. После того как json массив готов, его нужно упаковать в hex формат.

    Это можно сделать например здесь:

    Пожалуйста, войдите или зарегистрируйтесь для просмотра ссылок

    В результате должна появиться строка следующего вида:

    5b5b2270726f706f73616c222c7b22656e645f65706f6368223a2231353033393235343030222c226e616d65223a22736962626f742d646576656c6f706d656e742d617667757374222c227061796d656e745f61646472657373223a2253575443355a734c39556562365a69514e784733665832715779714d544b4a423854222c227061796d656e745f616d6f756e74223a2231303030222c2273746172745f65706f6368223a2231353031333736363030222c2274797065223a312c2275726c223a22687474703a2f2f74656c656772612e70682f53494257616c6c6574426f742d30322d3134227d5d5d

    3. Далее нужно выполнить команду gobject prepare:

    gobject prepare 0 1 1501376600 <hex>

    где первые два параметра всегда 0 и 1, третий параметр равен start_epoch, а вместо <hex> вот та длинная строка, которая получилась на предыдущем шаге.

    В ответ вы получите хеш транзакции, которая потратит 5ч с вашего кошелька. Теперь нужно подождать пока транзакция наберет 7 подтверждений.

    4. И последний, завершающий этап, это команда gobject submit:

    gobject submit 0 1 1501376600 <hex> <txhash>

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

    В ответ вы получите хеш зарегистрированного в сети предложения.

    Проголосовать за него можно командой:

    gobject vote-many <хеш предложения> funding yes

    Посмотреть детали, можно при помощи команды

    gobject get <хеш предложения>

    Весь список можно посмотреть с помощью команды

    gobject list

    P.S. По сравнению с версией 16.0, где не требовалось создание json массива, конвертирования его в hex-формат, работа с временем в unix time формате, создание предложений стало существенно неудобнее, я согласен с этим. Это было сделано для унификации работы со всеми "объектами управления". В данный момент мы работает над сайтом, который упростит работу с предложениями, в том числе процесс создания новых предложений.
     
    Mao и MasterNode нравится это.
  2. Перевести тему на английский язык
  3. Bazuka

    Bazuka Прохожий

    Сложновато, конечно.
    А думали ли встроить эту процедуру в кошелек?
    Как отдельную функцию.
    Это гораздо упростило всю операцию по созданию предложений в бюджет.
    Люди бы охотней это использовали.