23 хардфорк уже близко, предлагаю делегатам потестировать


Как многие знают, совсем скоро в блокчейне и основных веб-клиентах будет добавлена удобная механика для вознаграждений в виде донатов.


Код
в части механики донатов готов, предварительные тесты пройдены, но чем больше участников сообщества протестирует, тем лучше :)

API-нода для подключеий - wss://hf23.golos.todayy/ws
В помощь и сервис https://ropox.app/steemjs/api/, только поменять на адрес тестоой ноды.
https://ropox.app/steemjs/api/database_api/get_dynamic_global_properties?ws=wss3A%2F%2Fhf23.golos.ttoday%2Fws

омандды отправлять на. с терминала свовоей ноды, используя подключение к кли-валлет:
docker exec -it golosd cli_wallet -s s://hf23.gololos.today/ws

Ключ от всех аккаунтов на сервере лайвтеста:
import_key 5JFZC7AtEe1wF2ce6vPAUxDeevzYkPgmtR14z9ZVgvCCtrFAaLw

Код изменений тут https://github.com/golos-blockchain/golos/tree/83-donates

Перевод на tip_balance и обратно

  • Перевод с balance на tip_balance:

transfer_to_tip lex litrbooh "100.000 GOLOS" "" true
Параметры: отправитель, получатель, сумма, мемо.

  • Перевод с tip_balance в Силу Голоса:

transfer_from_tip lex litrbooh "100.000 GOLOS" "" true
Параметры: отправитель, получатель, сумма, мемо.

Есть возможность перевести самому себе, указав получателя: ""

Операция донатов

donate lex litrbooh "10.000 GOLOS" {"app":"golos-io","version":1} true
Параметры: отправитель, получатель, сумма, мемо в формате JSON.

Также бы учтено предложение @vvk о о структуре операции, обязательные поля в мемо только app и version.

В мемо напр. можно указать ID объекта, за который производится донат (что пригодится для ботов вознаграждений в чатах, играх и пр.), с помощью поля target, которое имеет произвольную структуру, вариант для веб-клиента блогов:

donate lex litrbooh "10.000 GOLOS" {"app":"golos-id","version":1,"target":{"author":"lex","permlink":"golos-rocks"}} true

Пара app и version определяет структуру target. Структура target сохраняется при первой операции, сделанной с этими app и version, и при дальнейших донатах с этими app и version должна быть такая же структура, иначе операция не будет принята. Своего рода вариант контроля версий.

В операции donate также предусмотрена возможность для комментария:

donate lex litrbooh "10.000 GOLOS" {"app":"golos-id","version":1,"target":{"author":"lex","permlink":"golos-rocks"},"comment":"Good post!"} true

Операция донатов и реферальная программа

Пример создания реферального аккаунта (подробнее было описание тут):

create_account_referral lex "1.000 GOLOS" "15000.000000 GESTS" newaccount "{}" {"referrer": "lex", "interest_rate": 1000, "end_date": "2020-10-25T14:00:00", "break_fee": "10.000 GOLOS"} true

где: lex - создатель аккаунта, newaccount - новый аккаунт, 1000 (interest_rate) - 10% реферальный процент.

При донатах на аккаунт реферала 10% от сум доната передаететсрефереру.то попозволит мотивировать привлекать новых авторов, которые потенциально могу получать хорошие донаты и делиться % с тем кому удалось расширить аудиторию на проекте.

Было снято и максимальное ограничение в 100 токенов на параметр max_referral_break_fee, выставляемый делегатами:

update_chain_properties lex {"max_referral_break_fee":"500.000 GOLOS"} true

Эмиссия токенов для клэйма

С принятием 23 ХФ процент от эмиссии, уходивший ранее в Силу Голоса системы, теперь уходит на accumulative_balance - общий баланс системы, с которого каждый пользователь cможет снимать (клэймить) суммы на свой (или чей-то) tip_balance или в свою (или чью-то) Силу Голоса.

Сумма, доступная для клэйма пользователем, определяется так: accumulative_balance * (СГ пользователя / СГ системы)

Такой командой можно сделать клэйм:

claim "lex" "" "100.000 GOLOS" false true

Параметры: отправитель, получатель (можно переслать на чужой баланс), сумма, в СГ (если true) или на tip_balance (если false). Как и операция donate, claim по постинг-ключу.

Если пользователь не делал клэйм в течение делегатского параметра claim_idleness_time (по умолчанию сутки) с момента предыдущего клэйма (или с момента применения 23 ХФ, если он ни разу не делал клэйм), то его доля в accumulative_balance переводится в пополнение фонда воркеров на развитие блокчейна. Не сняли свою долю, помогли блокчейну на развитие :)

Задачи о предлагаемых правках на веб-клиенте с учётом изменений в блокчейне, тут:https://github.com/golos-blockchain/golos-ui/issues/20https://github.com/golos-blockchain/golos-ui/issues/15Ещё есть время прокомментировать...


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

Постараемся объективно оценить помощь и передать баунти-вознаграждение.


Comments 29


@lex отличные новости!

25.04.2020 15:55
0

@lex Супер!

25.04.2020 15:55
0

Чу! Если припасть ухом к земле - слышен звук копыт приближающегося ХФ-23.

25.04.2020 16:07
0

@romapush да, в мае наконец закончим транзит )

25.04.2020 16:16
0

@lex как многие знают - отличная ссылка. Пост ничего не говорит о том, о чём речь и куда идти за подробностями

25.04.2020 16:11
0

@kwaskoff а вы есть в делегатах? Или в заголовке поста что-то тоже непонятно?

25.04.2020 16:15
0

@kwaskoff, делегаты тестируют. У них есть тестикулы. Это всё, что нужно знать о делегатах на время незавершённого транзита.

25.04.2020 16:23
0

@lex замечательно!

25.04.2020 16:12
0

@lex Отлично! Я готов закодить донаты.

Также нужно заменить "вывод суммы" от апвоутов на сумму полученных донатов, при нажатии на которую будет возможность увидеть список донатящих.

В апи ноды будут методы для получения истории донатов по посту?

Список отправленных и полученных пользователем донатов, в отличии от валешарес

как можно получить список донатов пользователя и донатов ему? Есть апи метод ?

Добавить ленту "Донаты" по типу имеющейся "Популярное" (только с сортировкой постов по сумме полученных к ним донатов).

будет метод?

26.04.2020 00:25
0

@avral да, есть, get_donates в social_network, имеющий параметры from и to. По посту - тоже через get_donates.

Только на гите ещё прежние таски поправить надо, о которых писал в ТГ.
https://github.com/golos-blockchain/golos-ui/issues/67
https://github.com/golos-blockchain/golos-ui/issues/63

26.04.2020 11:04
0

Только from и to? По target фильтровать нельзя?

26.04.2020 11:20
0

@denis-skripnik пока нет, передал инфо разработчику, посмотрим...

26.04.2020 12:19
0

Ок

26.04.2020 12:28
0

@denis-skripnik по target добавят, тоже будет

26.04.2020 13:52
0

Хорошо

26.04.2020 14:12
0

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

  • Голосов - 5 позицию - 28 Голосов
  • комментарии - 2 позицию - 9 комментарии
26.04.2020 06:21
0

Если пользователь не делал клэйм в течение делегатского параметра claim_idleness_time (по умолчанию сутки) с момента предыдущего клэйма (или с момента применения 23 ХФ, если он ни разу не делал клэйм), то его доля в accumulative_balance переводится в пополнение фонда воркеров на развитие блокчейна. Не сняли свою долю, помогли блокчейну на развитие :)

Как-то это не очень...

26.04.2020 21:56
0

@cats это не новость, именно этот момент больше всего вызывает вопросы.

Но, во-первых, делегаты могут установить claim_idleness_time и более суток.

Во-вторых, нужно было что-то делать с массовой пассивностью бол-ва, когда неделями и месяцами пользователи не появляются на блог-платформе (где активность в виде постов, комментариев, репостов, апов, донатов... во многом её основа).

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

И это не исчерпывающий список...

26.04.2020 22:07
0

@lex репостнул спасибо за информацию..

28.04.2020 05:19
0