Результаты деятельности Golos•Core за период 25.02.2019 - 07.03.2019 гг.
Уважаемые делегаты и члены комьюнити!
В преддверии самого «обаятельного и привлекательного» праздника команда Голос Кор поздравляет всех женщин на Голосе, и особенно наших @yudina-cat, @stihi-io, @kulturagolosa. Вы - лучшая часть человечества, не только потому, что прекрасны, но и потому, что делаете мужчин миролюбивыми.
Чтобы не отвлекать мужскую часть Голоса, особенно @vik, @arcange, @ropox, @primus, @creator, on0tole, @kuna, @anyx, @xtar, @dmilash, @vvk, @denis-skripnik, @litrbooh, @testz, @steepshot от ваших дам, сообщаем, что запуск тестнета на несколько нод состоится на следующей неделе. А пока ознакомьтесь с результатами работы за прошедшие 10 дней.
Обзор деятельности команды Кор за указанный период:
- Разработан инструмент по переносу данных состояния системы Голоса в начальное (genesis) состояние блокчейна Cyberway
- Проведена работа по адаптации unit-тестов под chaindb хранения данных
- Проведена работа по стабилизации кода блокчейна Cyberway
- Продолжена работа в части реализации функциональности воркеров, в том числе:
- устранены недостатки, проявляющиеся при повторных голосованиях за выполненную работу и принятие ТЗ;
- улучшен алгоритм подсчета голосов (“за” и “против”) за ТЗ, выполненную работы, а также за выплаты;
- добавлена возможность одному и тому же автору создавать несколько ТЗ для одного и того же поданного предложения.
CyberWay
Генезиз с данными Голоса
Завершенные задачи:
- Создан механизм для Голоса, обеспечивающий сохранение состояния блокчейна (стейт) в файл, который впоследствии можно открыть и использовать в Cyberway.
Сохранённый таким образом стейт будет использован при запуске Cyberway.
https://github.com/GolosChain/golos/issues/1133 - Создан инструмент по переносу данных из стейта Голоса в начальное (genesis) состояние БЧ Cyberway. Источник данных — отдельный файл (задача №1133). Доработка обеспечивает перенос аккаунтов, авторизацию, а также создание имен пользователей (usernames) в домене “golos”.
https://github.com/GolosChain/cyberway/issues/304 - Доработан процесс импорта данных из стейта Голоса в Cyberway. На текущий момент импорт данных выполняется отдельной утилитой. Доработка обеспечила выполнение импорта данных непосредственно при старте (и реплее) ноды Cyberway.
https://github.com/GolosChain/cyberway/issues/315 - Оптимизирован перенос genesis-данных для меньшего потребления памяти нодой. Запись данных в БД форсирована и очищен кэш.
https://github.com/GolosChain/cyberway/issues/334.
Задачи In Progress:
- Перенос балансов аккаунтов из стейта Голоса в genesis-блок
https://github.com/GolosChain/cyberway/issues/316 - Перенести голоса за делегатов из стейта Голоса в genesis-блок
https://github.com/GolosChain/cyberway/issues/317.
Запуск тестнета с несколькими блок-продюсерами (Multinode mode)
Завершенные задачи:
Добавлено ожидание старта nodeos в скрипт запуска тестнета. Старт nodeos определяется по формированию ответов на запросы и позволяет корректно обрабатывать ситуацию, когда nodeos разворачивает начальные данные в генезис-блоке
https://github.com/GolosChain/golos.contracts/issues/501Добавлено указание, какие данные использовать для генезиса, при старте nodeos в различных конфигурациях. Это позволяет при запуске ноды или тестнета передавать ей первоначальное состояние системы, взятое из цепочки Golos
https://github.com/GolosChain/cyberway/issues/328.
Тестирование CyberWay
Завершенная задача:
- В сборке CyberWay переработаны unit тесты под chaindb реализацию хранения данных. Запуск тестов интегрирован в процедуру CI для проверки валидности вносимых в код изменений.
https://github.com/GolosChain/cyberway/issues/311
https://github.com/GolosChain/cyberway/issues/319.
Стабилизация выполнения кода БЧ CyberWay
Завершенные задачи:
- Реализован метод подсчета используемого RAM в новом хранилище данных chaindb.
https://github.com/GolosChain/cyberway/issues/12 - Добавлены ограничения на редактирования таблиц находящихся в пространтсве других смарт-контрактов
https://github.com/GolosChain/cyberway/issues/258.
Задача In Progress:
- Реализация метода реплея цепочки на новом хранилище данных chaindb.
https://github.com/GolosChain/cyberway/issues/330.
Оптимизация кода БЧ CyberWay
Завершенная задача:
- Перенос реализации работы с блок-логом из БЧ Golos. Данная реализация основана на отображении файлов блок-лога в память, что оптимизировать операции по работы с данными блок-лога.
https://github.com/GolosChain/cyberway/issues/320.
Работа по текущей цепочке
Предоставление в пользование ресурсов блокчейна
Завершенные задачи:
Проведен анализ и исследование возможности реализации операции
requestram
. Предусматривается, что данная операция (аналогично операцииrequestbw
) должна предоставить пользователю возможность сохранять личную информацию по запросу к смарт-контракту провайдеру.
По результатам исследования принято решение отложить реализацию данной операции из-за значительного объема требуемых на выполнение операции ресурсов.
https://github.com/goloschain/cyberway/issues/249
https://github.com/goloschain/cyberway.cdt/issues/58
https://github.com/goloschain/cyberway.cdt/issues/34
https://github.com/goloschain/cyberway.cdt/issues/61.Реализована привязка смарт-контракта стейкинг к ограничениям на использование ресурсов блокчейна.
https://github.com/GolosChain/cyberway/issues/295
https://github.com/GolosChain/cyberway.contracts/issues/89.
Задача In Progress:
- Восстановление работы API-функций методов chain-api-plugin:
get_account
get_table_rows
get_table_rows
get_table_by_scope
get_currency_balance
get_currency_stats
get_producers
get_producer_schedule
get_scheduled_transactions
Работа данных функций была нарушена после изменения организации хранения данных.
https://github.com/GolosChain/cyberway/issues/14.
Воркеры
Завершенные задачи:
Удалены оставшиеся поля с авторами и пермлинками из всех воркер-объектов.
https://github.com/GolosChain/golos/issue/1129Добавлена операция для отмены результата воркера (worker_payment_approve_operation) для случая, если этот результат уже был одобрен и начались выплаты. Операция позволяет блокировать выплаты. Добавлен статус ТЗ - payment_canceled.
https://github.com/GolosChain/golos/issues/1105Доработана логика смарт-контракта воркеры для запрета повторного голосования за ТЗ. Доработка также запрещает повторно отменять голос.
https://github.com/GolosChain/golos/issues/1139Написаны тесты для проверки функционирования воркер-пропозалов, в том числе неконсенсусной части (плагин).
https://github.com/GolosChain/golos/issues/1110Добавлено хранение в API количества аппрувов и дизаппрувов для результатов и платежей (ранее хранились только для ТЗ). Применен более точный алгоритм подсчёта голосов “за” и “против” ТЗ, результатов и платежей.
https://github.com/GolosChain/golos/issues/1150Добавлена операция worker_premade_result_operation для создания результатов к пропозалам с уже готовой работой. Устранены недостатки в жизненном цикле таких пропозалов.
https://github.com/GolosChain/golos/issues/1142Перенесена логика проверки прогнозируемого фонда воркеров на ТЗ из евалюатора аппрува результата в евалюатор аппрува ТЗ.
https://github.com/GolosChain/golos/issues/1149Реализована возможность одному и тому же автору создавать несколько ТЗ для одного и того же предложения.
https://github.com/GolosChain/golos/issues/1146Введен лимит на голосуемые делегатами сроки аппрува ТЗ и результатов (максимальное значение: 12 месяцев; значение по умолчанию: 12 месяцев). https://github.com/GolosChain/golos/issues/1161
При акте отмены назначения воркера поле операции было пустым. Был исправлен баг, который проверял наличие воркера, передаваемого в операции. https://github.com/GolosChain/golos/issues/1163.
Каналы коммуникации с Golos•Core
- https://t.me/goloscoretc (решение технических вопросов, связанных с работой блокчейн, нод, api и др.)
- https://t.me/joinchat/BLwf_A118xQ57nsM1Q4MPA (канал для вноса предложений от комьюнити, обсуждение перехода на кодовую базу EOS)
- https://t.me/golos_tools (решение вопросов по различным интерфейсам и дополнительным инструментам, создаваемым Golos•Core)
- https://t.me/goloscore_analytics (решение вопросов по работе экономики блокчейн, статистическим экономическим данным, аналитике данных)
- https://t.me/goloscoretech (новостной канал, с актуальной информацией от Golos•Core)
Мы будем очень рады, если вы поддержите делегата @goloscore. Заходите на страничку https://golos.io/~witnesses голосуйте за делегата Golos•Core!
Спасибо за внимание и хорошего дня!
С уважением,
Команда Golos•Core: @andreypf, @korpusenko, @maslenitsa, @muhazokotuha, @zxcat, @annaeq, @anazarov79, @kaynarov, @s-medvedev, @eugin, @dedbaraded, @jimak.