⚙️ Хардфорк 0.2
Новости Golos•Core. Статус разработки на 05.02.2018, технические изменения, информация о Bounty-программе.
Добрый день!
Всем, кто интересуется разработкой, спешим сообщить о том, что происходит в команде. Согласно плану, представленному Golos Core в декабре, в текущий момент мы занимаемся несколькими задачами:
- формируем команду, набираем новых программистов и специалистов. Процесс продвигается, мы взяли в команду 2 новых разработчиков: Андрей, @andreypf - С++ разработчик, уже подключился к разработке chain; Ерлан, @epexa - full-stack developer, занимается развитием golos-js и сайтом developers.golos.io.
- создаем документацию на кодовую базу Golos Chain (текущую ситуацию можно посмотреть здесь);
- погружаем в код новых сотрудников через внутреннюю программу обучения;
- выстраиваем взаимодействие с программистами, интересующимися улучшением Golos (обновление о программе Bounty ниже);
- проводим работу по сбору фитбека от делегатов - спасибо всем, кто выделил время и пообщался с нами на прошлой неделе; готовим к выпуску софтфорк 0.16.5 (подробности ниже).
Софтфорк 0.16.5
Софтфорк стоял в плане работы команды Golos Core с осени. Изначально предполагалось, что он будет сделан после Хардфорка 0.2. В связи с отменой ХФ он реализуется в настоящий момент в параллели с тем, как команда Golos Core наращивает силы и знания необходимые для того, чтобы проанализировать и предложить сообществу и делегатам дальнейшие варианты состава ХФ 0.2 и развития блокчейна Голос.
В части софтфорка в первую очередь хотелось бы обозначить цели. Он нацелен на устранение проблем производительности в скорости отдачи данных из chain (технические изменения описаны ниже). После запуска мы ожидаем, что, в том числе, проблема рассинхронизации нод частично уменьшится.
Основные выгодополучатели указанных изменений - @golosio - основной клиент блокчейна, который преимущественно использует chain для обработки и хранения данных, и другие веб-клиенты, которые работают поверх блокчейн Голоса, а также разработчики ботов. То, что делается сейчас на Голосе, совпадает с планами Стима в части работы над блокчейном, поскольку способствует устранению базовых для обоих блокчейнов проблем.
Актуальное состояние kanban-доски по софтфорку можно посмотреть по ссылке https://github.com/GolosChain/golos/projects/6 Если вы хотите более глубоко погрузиться в задачи, то можете ознакомиться с описанием внутри issues.
В настоящий момент проведена первая итерация тестирования. За 2 недели с 22.01 - по 02.02 были получены ошибки и в текущий момент команда над ними работает: #387 cli_wallet fails to call remote node api, #371 Maintain the functionality of a private message in the cli, #386 Add set_block_applied_callback method.
Ориентировочный срок готовности СФ - 13 февраля 2018.
Технические изменения
Изменился формат json сообщений. (см. полный текст )
Расширение программы Bounty
Уважаемые пользователи и делегаты, после нашего поста о старте новой Bounty программы мы получили большое количество положительных отзывов. Мы очень рады, что в сообществе оказалось такое количество активных, заинтересованных программистов, которые готовы работать на улучшение блокчейна Голос. Для общения с ними и каждым, кто интересуется деталями разработки, мы создали отдельную группу Golos•Core Techchat и канал в Telegram t.me/goloscoretech. Ждем от вас вопросы по функционалу, по постам, ваши идеи и предложения по развитию блокчейна Голос. Заранее благодарим каждого из тех, кто будет пользоваться каналом, за соблюдение одного простого правила - конструктивный диалог и отсутствие оскорблений людей в каком бы то ни было виде!
Также мы создали специальный репозиторий для задач, связанных с текущими / будущими задачами на Bounty. Если у вас есть идеи программ, библиотек, интеграций, которые вы могли бы разработать для Golos Chain, то можете постить issue в репозитории github.com/GolosChain/advances. Наиболее полезные идеи будут отбираться в программу Bounty. Пожалуйста, описывайте, по возможности, идею, цели, задачи, указывайте свой аккаунт на Golos. Авторство будет автоматически закрепляться за создателем issue.
Мы очень рады, что сообщество проявило сильный интерес к нашему предложению подключиться к разработке различных “расширений” для Голоса. Особая благодарность: @captain за готовность подключиться к разработке интеграции с Joomla; @t3ran13 - за доработку php- библиотеки; @vvk - за интерес к работе над python библиотекой; @golos-go - за наработки в Go библиотеке.
Мы ведем консультативную работу со всеми активными разработчиками. Подключайтесь к совместной работе над Голос. Оформляйте свои идеи в гитхаб и обсуждайте с нами в канале телеграм.
Мы будем очень рады, если вы поддержите делегата @goloscore. Заходите на страничку https://golos.io/~witnesses и проголосуйте за делегата Golos•Core
Спасибо за внимание и хорошего дня!
С уважением, Команда Golos•Core @kotbegemot, @korpusenko, @abgvedr, @andreypf, @epexa, @muhazokotuha, @mariadia
Результаты голосования за фичи ХФ 0.2 и статус разработки на 22-12-2017
Добрый день!
Представляем вам результаты голосования топ-21 делегатов за фичи ХФ 0.2 (благодарим делегатов, которые нашли время, ознакомились с вопросами обсуждения и высказались по ним путем голосования) finalnoe-soglasovanie-funkcionala-khf-0-2-11-12-2017 Оригинал таблицы голосования: Таблица "Функционал ХФ 0.2" .
Отдельные делегаты по отдельным вопросам не проголосовали, а оставили комментарии. Их позиция оценивается в зависимости от комментария как за / против / воздержался. Делегат @lehard выразил готовность принять ХФ при условии, если будут отмеченные им как поддерживаемые фичи. В связи с этим его голос учитывался как “за” при подсчете голосов по фичам, за которые он не проголосовал. Описание всех фич ХФ 0.2, дано в этом посте
- Flat multi-sigs, transaction proposals
Единогласно - за - Golos power delegation
Единогласно - за - Reward beneficiaries
Единогласно - за - Unified payout window for posts (7 days)
Единогласно - за - The restriction on the length of the comment thread is removed Единогласно - за
- UIA
17 делегатов - за; 4 делегата - воздержались - Comments should be editable forever 17 делегатов - за; 4 делегата - воздержались
- Blockchain statistics plugin
Единогласно - за - Implement free memory database API
Единогласно - за - Refactor logging output to be a valid JSON
Единогласно - за - Protocol versioning extensions
Единогласно - за - Implement stateless non-interactive cli_wallet usage
Единогласно - за - Splitting of user content in natural languages 14 делегатов - за; 1 делегат - против; 6 делегатов - воздержались
- Remove or increase posting limit 16 делегатов - за; 2 делегата - против (но 1 примет ХФ с любым значением); 3 делегата - воздержались
- Witnesses price feed never expires Единогласно - за
- Remove key changing via hardfork code Единогласно - за
- No сhange of license to MIT 9 делегатов - за; 12 делегатов - против
- Automatic witness downvoting after 3 months 13 делегатов - за; 5 делегата - против; 3 делегата - воздержались
- A separate reward pool for comments (10%) 17 делегатов - за; 1 делегат - против; 3 делегата - воздержались
- Asset-name length dependent registration cost 16 делегатов - за; 2 делегата - против; 3 делегата - воздержались. Команда просит делегатов обратить внимание на изменение списка голосуемых параметров.
- Increase withdraw intervals amount 15 делегатов - за; 3 делегата - против (но 1 примет ХФ с увеличением при большинстве за); 3 делегата - воздержались
- Extending the payout window (перенос на ХФ 0.3, to postpone for HF 0.3) 13 делегатов - за; 2 делегатов - против; 6 делегата - воздержались/против
- Remove mining (перенос на ХФ 0.3, to postpone for HF 0.3) 17 делегатов - за; 2 делегата - против; 2 делегата - воздержались
- Change reward curve (перенос на ХФ 0.3, to postpone for HF 0.3)
18 делегатов - за; 1 делегат - против; 2 делегата - воздержались
Фича 17 не имеет отношения к техническому ХФ, 11 делегатов против, 9 высказалось против отсутствия изменения лицензии Голоса на лицензию MIT. В связи с отсутствием развернутого обсуждения по данному пункту, в том числе с привлечением сообщества, и, как следствием, отсутствием альтернатив на голосовании (альтернативами могут выступать GPL 1-3, LGPL 1-3 (гарантируют открытость кода), BSD, собственный вариант лицензии с обязательным вознаграждением при форке через sharedrop коммьюнити Голоса) считаем целесообразным обсуждение данного вопроса, как писали в предыдущем посте, перенести на будущее. Мы проработаем и представим альтернативы коммьюнити Голоса и делегатам на обсуждение.
К сожалению, команда Golos•Core вынуждена сообщить, что за прошедшие несколько дней появились обстоятельства, в связи с которыми ХФ 0.2 не может быть имплементирован. Эти обстоятельства вызваны внешними факторами, которые мы не можем не учитывать.
Первый фактор - недостаточное внешнее тестирование кода. Мы понимаем, что такой большой объем нововведений должен быть максимально глубоко протестирован, в противном случае поведение функционала в отдельно взятых сценариях сложно предсказать. Это может привести к нежелательным последствиям для всей системы. Текущий объем тестирования считаем недостаточным.
Второй фактор - отсутствие полноценной документации и, как следствие, невозможность провести полноценное ревью кода. Внешние аудиторы, ссылаясь на недокументированный код и отсутствие описания работы экономической модели, не могут провести аудит, что тоже может привести к непредсказуемым результатам исполнения кода.
Третий фактор - отсутствует математического моделирования поведения системы при введении пользовательских токенов. К сожалению, оказалось, что на текущий момент даже нам непонятно, какие значения будут являться критическими для экономики Голоса.
Естественно, что описанные выше проблемы - следствие того, как велась разработка ХФ (де факто одним человеком) при параллельном донаборе команды летом/осенью этого года. Следует признать, что основная проблема заключалась в неправильной приоритизация задач - код вместо команды и процессов. Признаем данную ошибку, вынуждены исправлять сейчас. Исходя из вышесказанного командой Golos•Core разработан промежуточный план действий, который сможет привести структурированию команды/постановке процессов и принятию смоделированного и протестированного ХФ. План:
План предполагает ступенчатую стратегию внедрения изменений. Мы увеличиваем количество этапов разработки - создаем и внедряем функционал небольшими кусочками, повышая надежность и маневренность на каждом из них. Сначала планируется выделить часть фичей в состав софтфорка, подготовленного на базе ХФ 0.2, в частности фичи Blockchain statistics plugin, Implement free memory database API, Refactor logging output to be a valid JSON, Implement stateless non-interactive cli_wallet usage, и имплементировать их на текущей кодовой базе. На их выделение и имплементацию потребуется от 1 до 2 месяцев.
В течение данного срока мы сможем рассмотреть несколько вариантов и понять, какой из представленных выше вариантов является наиболее реализуемым и целесообразным: следующий софтфорк с функционалом нового API, ХФ без функционала UIA или доработка и реализация на текущей кодовой базе фич Golos power delegation и Reward beneficiaries. Любое из данных решений потребует от 1 до 2 месяцев на внедрение. Далее по такому же принципу - сравнение альтернатив и выбор оптимального пути будет приниматься решение по следующему шагу. Итогом выбранного пути будет являться полноценный, протестированный, безопасный ХФ 0.2. Параллельно с разработкой мы будем устранять недочеты нашей предыдущей работы. Будет вестись работа по документированию кода, моделированию и анализу экономических моделей поведения системы при внедрении пользовательских ассетов и подбор новых C++ разработчиков и другие специалистов в команду Golos•Core.
P.S. Мы будем благодарны в случае, если вы окажете нам помощь при поиске профессионалов С++, математика, тестировщиков (вакансии будут опубликованы в ближайшее время на golos.io). Заранее благодарим! Спасибо за внимание и хорошего дня, Команда GolosCore
Подробный отчет о составе ХФ 0.2 и важные объявления.
Добрый день!
Те из вас, кто следит за эпопеей под названием хардфорк 0.2, в курсе того, как непросто было нам, команде Golos Core, определить близкий к финальному набор бизнес-логики, удовлетворяющей большую часть сообщества.
Как написал в своём посте @hipster, «мы изначально ошиблись с тем, что попытались объять необъятное и в результате не доставляли в продуктив достаточно долго». Вместе с тем, в настоящий момент Golos Core с гордостью может говорить о составе хардфорка 0.2 блокчейна Голоса. (Напоминаем, что все изменения на протяжении всего периода разработки можно найти/просмотреть/протестировать на Github Голоса (зарегистрироваться на Github может любой желающий)).
Также просим всех пользователей сообщества обратить внимание на уникальные фичи (задачи), которые реализованы командой Golos Core и которые создают базу для дальнейшего успешного конкурирования блокчейна Голос как со Стимом (Steemit), так и другими блокчейнами. С учетом того, что обновления принимаются делегатами, напоминаем, что любой пользователь Голоса может стать делегатом и начать зарабатывать на поддержании работы блокчейна Голос.
Состав реализованных изменений в предлагаемом хардфорке:
- Flat multi-sigs, transaction proposals (уникальный функционал, нет аналога в Steemit) Появилась возможность создания мультиподписных аккаунтов с указанием веса ключа без наследования. Теперь доступно подписание любых транзакций несколькими пользователями, что значительно повышает уровень безопасности, в том числе для технических аккаунтов и аккаунтов веб-приложений.
- Golos power delegation Внедрено делегирование Силы Голоса. Теперь любой пользователь Голоса может передать свою Силу Голоса для использования другим пользователям сети. Количество пользователей, которым может быть передана Сила Голоса, и период ее использования могут быть любыми. Благодаря этому новые пользователи сети, например, смогут наращивать Силу Голоса на своем аккаунте быстрее и смогут в большей степени влиять на распределение пула наград через лайки.
- Reward beneficiaries Владельцы веб-приложений могут устанавливать процент, который они будут получать от каждого вознаграждения, получаемого пользователями приложения (за посты, комментарии, курирование). Владелец веб-приложения может установить уровень вознаграждения от 1 до 99% Силы Голоса, которые будут рассчитываться от вознаграждений пользователей и зачисляться на аккаунт веб-приложения.
- Unified payout window for posts (7 days) Все посты и комментарии теперь получают выплату через 7 дней после написания. Статистически, посты набирают наибольшее количество лайков в течение первых 2-3 дней.
- Extending the payout window (уникальный функционал, нет аналога в Steemit) Возможность продлить окно выплат на любой период равноправный первоначальному 7 дневному сроку за определенную сумму в GBG. Это расширение предыдущей фичи на случай максимально популярных постов. Если пост продолжает находиться в топе большее количество времени, то автор по желанию может заказать дополнительное окно выплаты.
- Automatic witness downvoting after 3 months (уникальный функционал, нет аналога в Steemit) Автоматическое обнуление голосов за делегатов раз в 3 месяца, сделанное в целях стимулирования работы делегатов на сообщество Голоса и создания условий для возможности выдвижения и продвижения новых делегатов.
- The restriction on the length of the comment thread is removed Ограничение на длину ветки комментариев снято. Функционал доработан в целях создания более удобного и понятного интерфейса.
- A separate reward pool for comments (10%) - Issues #86 + Issues #97 (уникальный функционал, нет аналога в Steemit) Фонды вознаграждения комментариев и постов разделены. Теперь фонд вознаграждения комментариев составляет 10% от фонда выплат авторам. Такая модель распределения вознаграждения позволит пользователям больше зарабатывать на комментариях.
- Comments should be editable forever Создано дополнительное свойство - снято временнОе ограничение на редактирование комментариев.
- Blockchain statistics plugin (уникальный функционал, нет аналога в Steemit) Улучшен плагин статистики. Теперь данные отдаются на демон статистики statsd и любой желающий, развернув демон статистики на своем сервере может получать развернутую статистику по транзакциям в блокчейн.
- Implement free memory database API (уникальный функционал, нет аналога в Steemit) Создан удобный и функциональный инструмент мониторинга свободного места хранилища. Данная фича полезна для держателей нод блокчейна Голос, так как она позволяет мониторить размер хранилища, чтобы своевременно его увеличить.
- Refactor logging output to be a valid JSON (уникальный функционал, нет аналога в Steemit) Создан строгий машиночитаемый формат логирования работы блокчейна для упрощения поиска ошибок, фильтрации и быстрого получения данных из лога.
- User issued assets, bitassets (market pledged assets), asset trading (shorts, limit orders, asset settlement, call orders) (уникальный функционал, нет аналога в Steemit) Реализована возможность создавать собственные токены, привязанные к токену Голоса. Эта фича - одна из самых ожидаемых сообществом, содержит большое количество функционала, касающегося выпускаемых пользователями токенов и работы с ними. Биржевая торговля активами появится после софтфорка (см ниже).
- Asset-name length dependent registration cost (уникальный функционал, нет аналога в Steemit) За регистрацию собственных токенов будет взиматься плата. Размер суммы будет зависеть от длины регистрируемого названия токена. Чем длиннее название, тем меньше стоимость регистрации.
- Protocol versioning extensions (уникальный функционал, нет аналога в Steemit) Возможность смены и рефакторинга основополагающих структур данных протокола (chain_properties или asset например) без запуска новой цепочки. Введена поддержка нескольких версий протокола бизнес-логики.
- Witnesses price feed never expires Прайс-фиды делегатов более не ограничены временем. В хардфорке 0.1 при необновлении данных прайс-фид становится нерелевантным.
- Implement stateless non-interactive cli_wallet usage (уникальный функционал, нет аналога в Steemit) Внедрена возможность использования cli кошелька из командной строки.
- Increase withdraw intervals amount Сроки понижения силы голоса увеличены с 13 до 20 недель. Задача, реализованная в рамках того, что планировалось на предыдущий хардфорк 0.1.
- Splitting of user content in natural languages (уникальный функционал, нет аналога в Steemit) Разделение пользовательского контента по естественным языкам с возможностью определения блокчейном языка написания постов.
- Remove or increase posting limit Увеличен лимит на количество постов в день. В хардфорке 0.1 было ограничение 4 поста в сутки. Сейчас эти число увеличено до 8 постов.
Помимо указанных задач, к предстоящему хардфорку команда Golos Core разработала / подготовила к запуску более 100 (служебных) задач, обеспечивающих нормальную работу блокчейна Голос. Примеры так называемых служебных задач можно найти здесь: https://github.com/GolosChain/golos/issues/177, https://github.com/GolosChain/golos/issues/75, https://github.com/GolosChain/golos/issues/89
После и в случае успешного принятия хардфорка к продакшену будет готовиться софтфорк 0.2.1 (обновление кодовой базы, не требующее консенсуса), который включит в себя задачи, являющиеся логическим продолжением и дополнением хардфорка 0.2:
- Market API Важный элемент софтфорка, отвечающий за работу внутренней биржи, на которой можно будет торговать пользовательскими токенами. Предполагается расширение функционала внутренней биржи Голоса (задача была перенесена на софтфорк в результате множества проблем, которые возникли при ее реализации - всех желающих, особенно делегатов, приглашаем поучаствовать в написании и исправлении программного кода).
- Deprecate get_state API method Избавление от метода get_state API, который фактически является рудиментарным и не несет какой-либо пользы. Это метод возвращает некоторое состояние цепочки, а объем данных составляет больше 2 МБ, что создает излишнюю нагрузку.
- Parallel API С осени этого года мы активно разрабатываем новую «модульную» архитектуру для Голоса, которая позволит разделить потоки данных на процессорах для одновременной обработки разных запросов API, что само по себе очень эффективно. Ранее нода блокчейна могла обрабатывать только один поток запроса API. Разделение блокчейна на модули позволит ему в полной мере использовать возможности современных процессоров по параллельной обработке данных, что создает базу для построения множества дополнительных улучшений.
ВАЖНОЕ ОБЪЯВЛЕНИЕ! Уважаемые держатели нод блокчейна Голос, в связи с ближайшим запуском хардфорка 0.2 просим вас проверить ваши работающие делегатские ноды на предмет дублирования. Если у вас на текущий момент работают дублирующие ноды, то просим вас отключить их и оставить только основную ноду. Мы убеждены, что вы, также как и мы, заинтересованы в благополучном развитии Голос, его бесперебойной работе и не желаете, чтобы в сети присутствовали какие-либо мешающие элементы, создающие дополнительную нагрузку на сеть. Спасибо за понимание.
Спасибо за внимание и хорошего дня, Команда GolosCore
// Старт Bounty-тестирования ХФ 0.2 GOLOS
Команда GolosCore объявляет старт двухнедельной Bounty-программы. Вы можете поучаствовать в тестировании ХФ 0.2. Распределение Bounty-вознаграждения за найденные неизвестные баги следующее:
- Мелкие - до 1000 GOLOS
- Средние - 1000-5000 GOLOS, если вы создаете issue на ошибку; 5000 - 10000 GOLOS, если вы исправляете найденную ошибку и создаете pull request
- Критичные - 10000-18000 GOLOS, если вы создаете issue на ошибку; 18000-25000 GOLOS, если вы исправляете найденную ошибку и создаете pull request
Все найденные ошибки просим заводить на гитхаб https://github.com/GolosChain/golos/issues Необходимо предоставить полное описание проблемы, способ репродуцирования, входные и выходные данные, скриншоты (по возможности).
Все pull request просим заводить на гитхаб https://github.com/GolosChain/golos/pulls
Внимательно проверяйте наличие бага на гитхаб, прежде чем завести новый. Например, на данный момент уже заведены issue #230 и #231.
Решение об уровне критичности бага и объеме вознаграждения будет принимать команда GolosCore. Выплаты Bounty-вознаграждения будут производиться в течение 5 дней с момента заведения issue или pull request.
Тестировать вы можете одним из следующих способов:
46.101.132.158:2002 (seed.testnet.golos.io:2002) - для владельцев нод; по данному адресу вы можете получать данные из блокчейн GOLOS через свою ноду.
46.101.132.158:8092 (wss://ws.testnet.golos.io) CHAIN_ID=5876894a41e6361bde2e73278f07340f2eb8b41c2facd29099de9deef6cdb679 - для разработчиков проектов на блокчейне GOLOS; вы можете подключаться к нашим нодам через JSON-RPC интерфейс.
https://testnet.golos.io - веб-клиент GOLOS; для поиска багов через тестовый интерфейс golos.io
https://www.npmjs.com/package/golos-js - для владельцев интерфейсов; используйте последнюю версию golos-js для работы с API.
Обратите, пожалуйста, внимание, что мы ожидаем ошибки, касающиеся функциональности, т.к. разработка UI и перевод интерфейса на текущий момент еще не завершены. В период тестирования мы будем исправлять найденные ошибки и внедрять исправления. В этот момент могут происходить сбои в работе сайта.
Документация по работе GOLOS blockchain:
- https://github.com/GolosChain/golos/tree/master/libraries/protocol/include/golos/protocol/operations
- https://github.com/GolosChain/golos/blob/master/libraries/application/database_api.cpp В ближайшее время появится более подробная документация по новому функционалу.
Версию ХФ 0.2 вы можете получить по ссылке: https://github.com/GolosChain/golos/tree/v0.17.0rc5
Мы заранее благодарим всех, кто поучаствует в тестировании ХФ 0.2.
Спасибо за внимание и хорошего дня, Команда GolosCore
// Началось тестирование хардфорка Голоса
Команда Golos•Core @goloscore объявила о начале двухнедельного тестирования хардфорка блокчейна Голоса. Разработчики обновленного протокола блокчейна начали кампанию по поиску ошибок в работе и программном коде хардфорка. Документирование каждой найденной ошибки будет вознаграждено в токенах Голоса.
Была поставлена финальная точка в разработке обновленного протокола блокчейна Голоса. Далее делегаты и все желающие сети смогут его тестировать в течение двух недель. Если за это время ошибки в программном коде найдены не будут — через две недели обновления вступят в силу. Если будут найдены какие-либо ошибки, они будут исправлены командой, нашедший ошибки будет вознагражден, а делегаты получат еще две недели на тестирование с момента исправления.
Программный код хардфорка можно изучить здесь.
// ХФ 0.2 Состояние на 26 сентября 2017 г.
Спешим сообщить, что команда GolosCore активно работает над финальными задачами ХФ 0.2, чтобы выпустить его в скорейшем времени. Осталось доделать не так много в сравнении с уже проделанной работой. Мы очень ценим внимание к нашей работе и волнение за сроки ХФ 0.2. Отдельно спасибо @blockchained и @litrbooh за особый интерес, благодаря которому работа кипит еще сильнее.
Из последних задач готовы и ожидают выпуска в составе ХФ: возможность поиска постов по языкам, реализована корректная интерпретация fixed_string в json операциях, возможность использовать cli_wallet как консольную утилиту. На данный момент разработка находится в финальной стадии завершения. Основная работа ведется над следующими задачами:
Issue #177 Refactor asset data storage Issue #184 После вызова get_ticker метода нода перестает отвечать на запросы API. Сложность в реализации первой ишью связана с необходимостью поддержки измененной структуры ассета во всех операциях, а также возможность конвертировать их в различных версиях ХФ для поддержания совместимости с протоколом разных версий. Изменения затрагивают базу, функционал интерпретирования во всех операциях, что потребовало значительного рефакторинга и написания большого количества кода. Наибольшая часть работы по данному ишью выполнена, таким образом, если не возникнет особых осложнений, то мы ожидаем в ближайшее время закрыть данную задачу. Работа над второй также ведется продолжительное время. Команда исправляет некорректную работу API. Возникли некоторые сложности в воспроизведении ошибки. Но уже определено и понятно в чем именно она заключается. Разработчики в процессе исправления этого бага.
// Дополнения от 01.08.2017 В связи со сложностями связанными со сроками предполагаемого ХФ и несерьезностью постоянных сдвигов дат, нами принято решение сообщить дату публично за 7 дней после появление на github финального тега для ХФ.
Подобного рода практика будет применяться и ко всем последующим хардфоркам (которые как и было заявлено на фесте будут содержать до 4-5 серьезных обновлений). Единственное отличие, в том что дата (последующих хф) будет анонсирована при появлении не финального тега, а первого релиз кандидата. Полностью - здесь.
// Дополнения от 23 июля 2017 г. ХФ 0.2 Изменение даты на 02 Августа 2017г 12.00 GMT - иерархический мультисиг и уязвимости
После публикации [RC1](https://github.com/GolosChain/golos/releases), который был опубликован на github Голоса в понедельник 17.07.2017. RC был оперативно протестирован некоторыми делегатами, благодаря их оперативной работе (в частности @primus и @litvintech @ropox), были выявлены следующие проблемы:
- Отсутствовало корректное начисление vesting_shares при создании аккаунта через cli_wallet. Исправлено в RC2 (еще не залит на гитхаб)
- Исправление ошибок наличия требуемых ключей для нововведенных операций. Исправлено в RC2
- Отсутствие метода для получения dynamic_asset_data с помощью DatabaseAPI. Исправлено в RC2
- Исправлено время вычисления last_irreversible_block.
- Исправлено начисление account_creation_fee при использовании создания аккаунтов с делегированием vesting_shares.
- Исправлено и устранено дублирование информации об имени и символе ассета. Индексирование ассетов теперь происходит по имени ассета в string, а не asset_symbol_type.
- Добавлено свойство ассета, свидетельствующее о наличии у него asset_bitasset_data_object.
- Основная проблема которая была обнаружена (и остается неисправной) связанна с иерархическим мультисигом (а так как последние события в мире блокчейна, а именно, "взлома" мультисиг кошельков parity, оставляют желать лучшего), нами принято решение придержать эту функцию до следующего ХФ, для дополнительных проверок кодовой базы и уязвимостей к атаке.
В процессе подготовке ХФ и верификации кода на безопасность была выявлена дополнительная проблема которая заключается в правильной сериализации secondary_index в boost::interprocess::shared_memory.
[RC2 (без функции иерархического мультисига) доступен к сборке на гитхабе Голоса](https://github.com/GolosChain/golos/tree/v0.17.0rc2)
Изменения блокчейна:
Динамический выбор параметров сети делегатами, а также разделение делегатских ролей на валидаторов и делегатов: валидаторы (пользователи с рабочим клиентом блокчейна Голос, для подписи блоков сети) и делегаты (пользователи сети, избранные голосованием, имеющие право на параметризацию сети). В связи с вводом возможности динамического выбора параметров сети, мы временно введем возможность 19-ти делегатам на момент проведения хардфорка, также, исполнять роль членов комитета, с возможностью выбора параметров сети. С предстоящим ХФ эта возможность появится без внесения предполагаемого залога за право исполнять роль валидатора для того, чтобы предоставить всем возможность подготовить необходимые суммы до проведения ХФ 0.3.
Стоит заметить, что сразу после проведения ХФ 0.2, у членов комитета появится возможность изменить ранее предполагаемое кол-во “топ” делегатов (минимальное число по умолчанию 11, максимальное не ограничено. Чтобы стать членом комитета не требуется иметь рабочую ноду).
Примечание от 26 июня 2017:
Во избежание недопониманий и раскола во мнениях между делегатами и командой разработки, мы приняли решения об исключении выше упомянутого пункта из предстоящего ХФ 0.2 (это включает в себя не только разделение на роли но и возможности динамического выбора параметров сети. Так как они "продаются пакетом").
После проведения ХФ 0.3, роли разделятся окончательно (с добавлением роли транслятора). Это будет означать отдельные ноды валидаторов с предполагаемым залогом и (возможно) отдельные члены комитета, которым не требуется залог.
Автоматическое обнуление голосов раз в 3 месяца за членов комитета.
Поддержка multisignature аккаунтов (возможность создавать аккаунты, которым для совершения транзакции, требуется более 1 подписи).
Поддержка UIA (user issued assets). Это означает возможность выпускать собственные токены (не smart coins) и их использовать, поверх нашего блокчейна. Примеры реализации можно посмотреть на Bitshares.
Поддержка Smart Coins (монеты обеспеченные произвольными активами, в виде залога, на выбор создателя, выраженным в токенах Голос).
Ограничение количества постов с 4 в день, увеличится до 8.
Ограничение на длину ветки комментариев снято.
Добавлена возможность редактировать посты после 30 дней.
Выплаты за комментарии теперь не зависят от самого поста.
Все посты и комментарии теперь получают выплату через 7 дней после написания. Второго окна выплат, больше не будет. У пользователя есть возможность продлить окно выплат на любой период равноправный первоначальному 7 дневному сроку (за определенную сумму в GBG. Сумма будет высылаться на @null). По следующей формуле:
((input_time - time::now()).to_seconds() * cost_per_day * (1 + 0.1 * cashout_windows_amount) / (60 * 60 * 24) Количество окон выплат = +0.1
Фонд вознаграждения комментариев существует отдельно от постов, на уровне 10%.
Множественные бенефициары вознаграждений за контент (без ГУИ).
Делегирование Силы Голоса (без ГУИ).
Аккаунты могут создаваться с меньшей комиссией и изначальным делегированием Силы Голоса.
Майнинг оставлен в текущем состоянии, до следующего ХФ (в процессе тестирование публичного GPU майнера).
Разделение пользовательского контента по естественным языкам.
Снижение Силы Голоса изменено на 20 недель (ошибка с предыдущего релиза).
Служебные изменения:
Управление снапшотами сети занимается отдельный плагин, что позволяет упростить их загрузку и решить проблемы с переиндексацией аккаунтов Steemit.
Имплементация примитивной версионируемости и вторичного индекса объектов в Chainbase.
Изменен алгоритм ранжирования вкладки “популярное”, на механизм аналогичный алгоритму вкладки “актуальное”. Это позволит получать более естественную выдачу постов в самой вкладке.
Встроенный NTP-сервис по умолчанию отключен.
Изменения веб-клиента:
Дополнительная регистрация по СМС.
Дополнительная регистрация через инвайт по электронной почте.
Добавлены расширенные опции во вкладке кошелька пользователя, для создания ассетов.
Обновленная внутренняя биржа, с расширенными возможностями и обновленным user experience.
Вспомогательная стрелка “вверх” для автоматической прокрутки страницы.
QR коды, для паролей в кошельке пользователя.
Добавлена возможность менять язык интерфейса заголовке страницы, без необходимости входа в личный кабинет.
Добавлены вспомогательные иконки в верхнее меню.
При создании поста добавлена возможность подгрузки изображений локально с пользовательского устройства.
Добавлена кнопка продления окна выплат расположенная рядом с кнопкой “Продвинуть”.
Добавлена возможность вывода ленты постов созданных пользователями на их национальном языке.
Иконка RocketChat перенесена в верхний правый угол заголовка интерфейса.
Цветовое оформление страниц теперь в едином стиле.
Изменилось отображение поста - рядом с автором поста отображается его аватар.
В комментариях отображается уровень вложенности, для более удобного визуального восприятия.
Длинные ветки комментариев теперь сворачиваются автоматически.
При просмотре поста в шапке теперь отображается аватар автора.
Кнопка “Голосовать за” теперь синего цвета и при наведении оживает при помощи современных технологий css анимации.
Возможны дополнительные минорные обновления веб клиента.
Основано на материалах статьи от 25 июня 2017 г.