Всем привет!
С момента как @ropox 16.02 в посте официально сообщил, что подготовил собственную версию ХФ 0.2, команда разработчиков Golos•Core заревьювила представленный на гитхаб код. Сразу оговоримся, что альтернативное видение очень полезно для сообщества и команды Golos•Core. Для нас это является мотиватором, и показывает на какие подводные камни мы еще не наталкивались.
Итак, по результатам аудита мы смогли найти некоторые технические ошибки, которые требуют исправления:
- Ошибка в экономике. Была взята часть бизнес-логики, относящейся к изменению окна выплат, при этом код, отвечающий за экономику в этой части был перенесен не весь.
- Поскольку окно выплат в STEEMIT тесно связано с пулом наград за комментарии, то не совсем корректно переносить лишь часть экономики, предполагая что экономика останется в сбалансированном состоянии.
Однако основное техническое замечание связано с тем, что @ropox-ом в работу была взята не текущая версия Стимита, что было бы логично ввиду желания некоторых делегатов, с кем удалось переговорить, обновлять Голос постепенно до текущего функционала Стимита, а прошлогодняя апрельская версия Стимита, после которой было выпущено 2 хардфорка и несколько софтфорков.
По-прежнему важным и необходимым считаем проведение полноценного тестирования ХФ. Ожидаем от @ropox unit-тесты.
В свою очередь, как мы неоднократно повторяли, в том числе в разговорах с коммьюнити и делегатами, в параллели с софтфорком мы разбирали возможные варианты развития блокчейн Голоса, которые представим на обсуждение в ближайшие дни.
Многие делегаты и программисты коммьюнити изучили код софтфорка после представления релиз-кандидата и задали вопрос о целесообразности изменений API. Считаем важным сфокусировать внимание коммьюнити и особенно программистов и пояснить еще раз. Мы произвели изменения API для увеличения скорости отклика системы и уменьшения расинхронов у демонов цепочки (golosd), что было подтверждено перформанс-тестами в статье - https://golos.io/ru--golos/@goloscore/novosti-golos-core-status-softforka-0-16-5-na-16-02-2018.
Некоторые разработчики сторонних приложений подтвердили возможность перейти на новое API при предоставлении инструкции, что будет сделано командой Golos•Core. Важно, что с новым API, помимо прочего, те, кто использует full-node blockchain в рамках своих приложений, смогут сэкономить ресурсы железа на ~10%, что положительно отразится на бюджете. А делегаты или будущие делегаты смогут иметь более компактную ноду, использующую плагины: chain p2p json_rpc webserver network_broadcast_api witness, для демона, работающего с цепочкой (chain p2p json_rpc webserver network_broadcast_api database_api).
Мы будем очень рады, если вы поддержите делегата @goloscore. Заходите на страничку https://golos.id/~witnesses и проголосуйте за делегата Golos•Core
Спасибо за внимание и хорошего дня!
С уважением,
Команда Golos•Core @kotbegemot, @korpusenko, @abgvedr, @andreypf, @epexa, @muhazokotuha, @mariadia
О! Спасибо большое. Реально, это отлично, что вы посмотрели код.
По первому пункту, можно пожалуйста по конкретнее ? Что конекретно не так с одним окном выплат? На сколько я понял код стимита, там был переиначен расчет выплат, да. Добавили контекст и ушли от total_rshares2- Эти изменения я не стал брать, так как непосредственно с "одним окном выплат" те изменения не связанны. Это скорее была часть подготовки к более простой смене кривой выплат. Причем если посмотреть первый коммит по окну выплат на стимите, то видно, что он был сделан до этих изменений, в таком виде я его и взял.
По второму пункту. Я бы в одиночку, по паре часов в неделю не смог бы портировать все, что было сделано в стимите за полтора года. Я не гений, в С++ не очень хорошо разбираюсь. Да и цель была, сделать минимальные изменения, что бы проще было добиться консенсуса. И я не хотел забирать работу у профессионалов ) Сорри, не смог удержаться.
На счет юниттестов вы правы. К сожалению я не смог их запустить. Самому стыдно. Судя по всему, Докерфайл не соотвествует действительности. В репозитории я ничего не нашел, чем вы их запускаете, если вообще. Вы каждый раз компилируете и запускаете их в ручную или где то есть, вне репозитория скрипты для запуска. Буду благодарен любой помощи и ожидаю вот вас рабочих юниттестов :)
На счет 16,5 и смены API. Как я написал в чате уже. Само по себе это вероятно нужное дело, только это приведет к неприятию софтфорка со стороны комьюнити. Софтфорк не обязателен, так как не несет в себе нужных сообществу изменений. Он по сути нужен только golos.io, которое все данные берет напрямую из блокчейна. Причем смена API затронит golos.io тоже и потребует переделки. https://goldvoice.club работает по другому и хранит данные в своей базе данных. Делегаты тоже врядли пересядут на новый СФ, половина все еще использует 16.3 версию год спустя. Вот и получается, что golos.io придеться самим все тестировать и вылавливать баги. Добровольцам поднадобятся еще библиотеки, которые пока не адаптированы к новому API. Никто не станет отправлять JSON по вебсокетам вручную для тестирования.
Возможно надо было разбить на два СФ. Переделка на работу с потоками и смена API, проще же было бы тестировать.
Да плюс, как быть со скриптами, которые у криптообывателей на руках? Их эти изменения тоже затронут.
Как вариант, нужно адаптирововать reverse proxy стимита и через него предоставить доступ к API. Может публично назначить баунти?
Я даже теперь думаю, если и менять API, то лучше поменять в софтфорке, что бы как раз не пришлось людям переходить при ХФ на новое API.
Поддержка 0.16.5 со стороны библиотеки golos-js появится в ближайшее вермя. Клиент golos.io для всех запросов/операций использует golos-js, изменение формата общения с вебсокетами не повлияет на работоспособность
Раз ошибки найдены и локализованы на уровне недостающих частей кода, то добавить их к коду @ropox'а уже не составит для вас труда, так?
Возможно ли слияние ХФ от @ropox (линейка и снятие ограничений на комментарии) с СФ @coloscore (оптимизации блокчейна и API) в единый код?
Такой единый код удовлетворит, наверняка, всех: сообщество получит так давно ожидаемые изменения в экономике плюс удобство пользования в виде снятия ограничений на вложенность комментариев. Команда получит возможность дальнейшей работы над кодом и время на его развитие.
Простите, за нескромный вопрос, а когда можно ожидать ХФ с Делегированием СГ?
А чем кураторский паровоз фундаментально отличается от делегирования?
Знаю только, что при делегировании, если кит отзывает свою СГ, то она замораживается на неделю и возникает ее простой, что ведет к потери потенциального дохода. Но это сделано, чтобы кит не делегировал кому попало, а только тому кому доверяет железобетонно, чтобы не пришлось регулярно отзывать СГ и терять прибыль.
... в том числе и формулировкой)
Видимо, на ту осень - лет через восемь)
надеюсь на лучшее)
Ну то есть факт остается фактом - надо еще пилить и пилить код, потом тестить и не факт, что все по итогу будет ок с точки зрения выплат и экономики
С API все понятно. Менять так менять. Надо будет и библиотеку перелопатим. Огорчает только то что заранее это не было объявлено. И придется в авральном режиме делать.
А вот теперь по поводу ХФ от @ropox. Т.е. единственное нарекание это окно выплат в 7 дней. Остальное вроде нареканий не вызывает. Так может и стоит тогда взять все что сделано просто отбросив окно выплат.
Думаю многие делегаты будут только за. Ведь это приличное движение вперед.
Альтернатива есть? Я не вижу. Квадрат не хочет уже никто, насколько я понимаю. Если код рабочий, тесты проходят, то надо принимать. Сломать экономику сильнее, чем есть сейчас уже не получится.
варианты развития?) ждем еще год?)
Насколько я понимаю, рабочих варианта у нас два:
очередной раз вставляете палки в колеса.Сколько ждать? когда останется один Ейсков с ключом Вала и 40 преспешников Сатаны(редакторов и твинков) для дележки Пула, а остальные сбегут на Стимит?.Может это и рано еще говорить,но я поспешу вас расстроить, уже многие туда перешли,Тяните резину и дальше,останетесь у разбитого корыта с кучей фантиков.
он уже на стимит переливается потихоньку.
все что нажито непосильным трудом - в туда)
Даёшь настоящую децентрализацию, @ropox делай линейку не надо ждать сообщество и делегаты поддержит твою версию!!!
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
midnight, vik, vadbars, natasmr, gryph0n, arhangel, gapel, aivanouski, oksana0407, vika-teplo, prifix, kito-boy, astramar, aleos, funt33, orlova, makssib
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
Насколько я понял форк от гороха надо принимать... после юнит-тестов. Ну ок. Почти каждый этого дожидается.
@goloscore, поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество полученных голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Ребятушки-делегатушки, давайте тогда принимайте поскорее новый софт-форк с новым Апи от Голоскор, ну и потом гороховский допилим и тоже накатим :)
Софтфорк и хардфорк разные вещи.
Версия софтфорка никак не влияет на протокол блокчейна и пользователей. Она влияет на приложения, api, сервера. Вы можете установить локальную ноду с новым API и пользоваться им. Если делегаты на witness ноды поставят 0.16.5 - вы этим пользоваться все равно не сможете так как в делегатских нодах закрыт публичный api.
А это отменит вышеописанные изменения в API
Тогда как быть, Вик? чтобы накатить и то и другое) Ну в смысле, чтобы прижилось оно вместе.
Нужно выбрать что-то одно.
Или совместить обе версии в одной:
Сделать из софтфорка goloscore хардфорк в который будет включены линейные вознаграждения, недельное окно, снятие лимитов на комменты.
Или попросить ropox потратить время на копирование непротестированного api в свою версию.
Ну недельное окно можно и убрать раз с ним проблемы
Остальное точно слить и принять.
Думаю, что вот этот вариант интереснее для всех :)
Я потом ничего уже пилить не буду )
Ну кто-нидь поможет, надеюсь. Спецы то есть в этом деле. Vik вот предлагает замутить такую штуку:
"совместить обе версии в одной:
Сделать из софтфорка goloscore хардфорк в который будет включены линейные вознаграждения, недельное окно, снятие лимитов на комменты."