Результаты деятельности Golos•Core за период 11.03.2019 - 22.03.2019 гг.
Уважаемые делегаты и члены коммьюнити!
Очередной спринт подошел к концу. Наша команда опубликовала подробное руководство по установке для валидаторов/блок-продюсеров блокчейн-платформы CyberWay и в настоящее время активно занимается разработкой инструкций для других участников сети.
Особому вниманию делегатов и лиц, заинтересованных в Testnet платформы CyberWay
Ввиду того, что первоначальное наполнение данными в генезис-блоке было расширено и, как результат, несовместимо с текущим тестнетом, нода cyber была перезапущена для генерации блоков в новой цепочке (chain_id="27131d309251bf42220dbc70525fc2794166b401e55c6df665a006333e9364cb").
Для подключения блок-продюсеров к этой цепочке необходимо использовать обновленный генезис (genesis.json файл доступен по адресу https://raw.githubusercontent.com/GolosChain/cyberway/master/Docker/genesis.json; контрольная сумма MD5 равняется "1f534ac77cab87f3a01f622597366e7c").
Данные генезиса не изменялись и могут быть взяты по адресу http://download.golos.io/genesis.tar.gz. Полная процедура развертывания ноды описана в этой публикации.
По традиции, предлагаем вам ознакомиться с результатами работы команды Голос Кор за последние две недели.
Обзор деятельности команды Кор за указанный период:
- Продолжено тестирование Cyberway. Адаптирована часть Unit-тестов EOS под изменившиеся параметры сети Cyberway.
- Продолжена работа по стабилизации кода блокчейна Cyberway.
- Продолжена работа по подготовке к транзиту.
- Проведена работа по адаптированию части функций EOS к среде Cyberway. Доработано устройство nodeos.
- Продолжена работа по взаимодействию golos_wallet с Bittrex.
- Написаны Unit-тесты для смарт-контракта воркеров.
CyberWay
Запуск Testnet с несколькими блок-продюсерами (multinode mode)
Завершенная задача:
- Реализована привязка контракта стейкинг к назначению блок-продюсеров; добавлена возможность “перемешивания” блок-продюсеров.
https://github.com/GolosChain/cyberway/issues/296
https://github.com/GolosChain/cyberway.contracts/issues/90
Тестирование CyberWay
Завершенные задачи:
- Адаптированы Unit-тесты EOS под изменившиеся параметры сети в CyberWay (время блока, длина серии блоков от одного блок-продюсера):
https://github.com/GolosChain/cyberway/issues/361
https://github.com/GolosChain/cyberway/issues/341
https://github.com/GolosChain/cyberway/issues/345
https://github.com/GolosChain/cyberway/issues/342
https://github.com/GolosChain/cyberway/issues/346
https://github.com/GolosChain/cyberway/issues/347
https://github.com/GolosChain/cyberway/issues/348
https://github.com/GolosChain/cyberway/issues/354
https://github.com/GolosChain/cyberway/issues/351
https://github.com/GolosChain/cyberway/issues/357
https://github.com/GolosChain/cyberway/issues/358
https://github.com/GolosChain/cyberway/issues/350
https://github.com/GolosChain/cyberway/issues/349
https://github.com/GolosChain/cyberway/issues/353
Стабилизация функционирования кода БЧ CyberWay
Завершенная задача:
- В cleos реализована поддержка автоматического разрешения доменного и пользовательского имени при получении сведений об аккаунте и балансе с использованием запросов get account и get currency соответственно.
https://github.com/GolosChain/cyberway/issues/362
Подготовка к транзиту (Initiate transit):
Завершенные задачи:
Реализован перенос балансов аккаунтов из стейта Голоса в genesis-блок.
https://github.com/GolosChain/cyberway/issues/316Списки делегатов и голосов за них перенесены из стейта Голоса в genesis-блок.
https://github.com/GolosChain/cyberway/issues/317Изменены входные параметры у двух экшен-операций контакта управления golos.ctrl для работы с импортированными из genesis’а лидерами сообществ. Удалены поле
key
из экшенаregwitness
и параметрweight
из экшенаvotewitness
.
https://github.com/GolosChain/golos.contracts/issues/516Делегированный вестинг перенесен из стейта Голоса в генезис-блок.
https://github.com/GolosChain/cyberway/issues/376
Задачи In Progress:
- Описание всех этапов процедуры транзита.
https://github.com/GolosChain/cyberway/issues/409
Задачи на очереди:
Перенести выводимый вестинг (понижение СГ) из стейта Голоса в генезис-блок.
https://github.com/GolosChain/cyberway/issues/377Перенести вестинг из стейта Голоса в стейкинг генезис-блока.
https://github.com/GolosChain/cyberway/issues/378Экспортировать одинаковый набор данных в файл стейта Голоса вне зависимости от настроек ноды.
https://github.com/GolosChain/golos/issues/1172
Задачи для интеграции с Bittrex
Завершенные задачи:
- Реализованы методы управления кошельком. https://github.com/GolosChain/cyberway.golos_wallet/issues/3
Для управления кошельком были добавлены следующие методы:
lock/unlock -- разблокировать или заблокировать кошелёк соответственно
set_password -- установить новый пароль
import_key -- импортировать новый приватный ключ, которым будут подписываться все исходящие транзакции (пока что это только трансферы).
- Реализовано сохранение истории всех транзакций типа transfer. https://github.com/GolosChain/cyberway.golos_wallet/issues/4
- Создана модель Balance c именем пользователя и балансами по разным токенам.
- Создана модель Transfer с именами отправителя и получателя, а также суммой перевода.
- Написан фильтр событий, поступающих от EventEngine, по обработке операций transfer и issue.
Реализован метод получения баланса пользователя. https://github.com/GolosChain/cyberway.golos_wallet/issues/7
В кошелёк добавлен json-rpc API метод getBalance для получения информации о балансах.Реализована возможность получения истории транзакций по указанному пользователю https://github.com/GolosChain/cyberway.golos_wallet/issues/5.
В кошелёк добавлен json-rpc API метод getTransfers для получения нужных транзакций из базы. Требует query объект в качестве параметра.
Возвращает объект с массивом трансферов.
Задачи In Progress:
- Реализация метода transfer.
https://github.com/GolosChain/cyberway.golos_wallet/issues/11
Расширение функциональных возможностей CyberWay
Завершенная задача:
- Для смарт-контрактов добавлена возможность сохранения и поиска информации в блок-логе.
https://github.com/GolosChain/cyberway/issues/393
https://github.com/GolosChain/cyberway.cdt/issues/69
Задачи по текущей цепочке
Восстановление работы API-функций chain-api-plugin
Завершенные задачи:
Доработка nodeos: реализована функция
get_currency_balance
, позволяющая получить информацию о количестве средств на балансе пользователя.
Восстановлена команда ‘get currency balanceпрограммы
cleos`.
https://github.com/goloschain/cyberway/issues/364Доработка nodeos: реализована RPC API-функция
get_table_rows
. Данная функция возвращает значения полей таблицы, указанных в параметрах.
Восстановлена командаget table
программыcleos
.
https://github.com/GolosChain/cyberway/issues/366Доработка nodeos: реализована RPC API-функция
get_currency_stats
, позволяющая получать информацию о доступных средствах в системе.
Восстановлена командаcleos get currency stats
.
https://github.com/goloschain/cyberway/issues/368Доработка nodeos: реализована RPC API-функция
get_scheduled_transactions
. Данная функция позволяет получать информацию об отложенных транзакциях.
https://github.com/goloschain/cyberway/issues/371
Задачи In Progress:
Доработка nodeos: разделение chain_api_plugin и chain_plugin. Создание chain_api_plugin в виде отдельной библиотеки, чтобы можно было собирать nodeos без него.
https://github.com/GolosChain/cyberway/issues/406Восстановление функции
get_account
. Данная функция будет выдавать результат в виде информации о пользователе (например, доступные ресурсыbandwidth
, время создания, доступные средства и т.д.).
Восстановлена команда ‘get accountпрограммы
cleos`.
https://github.com/goloschain/cyberway/issues/365
Расширение функциональных возможностей и доработки смарт-контрактов Голоса
Завершенные задачи:
- Доработан системный смарт-контракт стейкинг. В результате доработки:
- комиссия прокси и блок-продюсеров при возврате средств будет начисляться с прибыли, а не с возвращаемой суммы;
- параметры выплат будут зависеть от назначения стейкинга:
https://github.com/GolosChain/cyberway/issues/397
https://github.com/GolosChain/cyberway.contracts/issues/108
https://github.com/GolosChain/cyberway.contracts/issues/112
Реализована возможность комментировать закрытые посты (публикации, за которые уже была произведена выплата).
https://github.com/GolosChain/golos.contracts/issues/521Ликвидирована информация, не требующаяся для расчета вознаграждения за пост в постинг-контракте.
https://github.com/GolosChain/golos.contracts/issues/382Добавлена проверка authority при выполнении реблога.
https://github.com/GolosChain/golos.contracts/issues/495Добавлено поле выплат в скрипте конвертации данных.
https://github.com/GolosChain/golos.contracts/issues/497Имя вестинг-контракта реализовано как параметр самого контракта.
https://github.com/GolosChain/golos.contracts/issues/510Интервал эмиссии реализован как параметр самого контракта.
https://github.com/GolosChain/golos.contracts/issues/511Добавлен символ токена для конфигурирования контракта golos.emit .
https://github.com/GolosChain/golos.contracts/issues/506Приведены имена действий, структур и объектов в смарт-контракте вестинга в соответствие с именами, используемыми в Golos (упрощение миграции для разработчиков).
https://github.com/GolosChain/golos.contracts/issues/528
Воркеры
Завершенные задачи:
Доработан смарт-контракт воркеры: операции воркеров добавлены в
account operation history
.
https://github.com/GolosChain/golos/issues/1173Изменен учетный период для расходов и доходов с 1 месяца на 1 день.
https://github.com/GolosChain/golos/issues/1174Добавлены юнит-тесты для авторити операций воркеров.
https://github.com/GolosChain/golos/issues/1178Добавлен юнит-тест для проверки правильности валидации операции создания\изменения ТЗ.
https://github.com/GolosChain/golos/issues/1179Добавлены юнит-тесты на создание ТЗ.
https://github.com/GolosChain/golos/issues/11801181 - Добавлены юнит-тесты на изменение ТЗ.
https://github.com/GolosChain/golos/issues/1181Добавлены юнит-тесты на аппрув ТЗ.
https://github.com/GolosChain/golos/issues/1182Добавлены юнит-тесты на ассигн воркера на ТЗ.
https://github.com/GolosChain/golos/issues/1184Для воркер-объектов используются только посты с действующими выплатами.
https://github.com/GolosChain/golos/issues/1185Добавлены юнит-тесты на создание метадаты ТЗ (неконсенсусные данные в плагине).
https://github.com/GolosChain/golos/issues/1186Добавлены юнит-тесты на изменение метадаты ТЗ (неконсенсусные данные в плагине).
https://github.com/GolosChain/golos/issues/1187Добавлены юнит-тесты на учет аппрувов\дизаппрувов в метадате ТЗ (неконсенсусные данные в плагине).
https://github.com/GolosChain/golos/issues/1188Добавлена проверка в юнит-тест, что нельзя редактировать воркер-пропозал с аппрувнутым ТЗ.
https://github.com/GolosChain/golos/issues/1195Добавлен юнит-тест с проверкой правильного подсчета аппрувов при изменении ТОП-19 делегатов.
https://github.com/GolosChain/golos/issues/1199Добавлена проверка в юнит-тест, что нельзя редактировать аппрувнутое ТЗ.
https://github.com/GolosChain/golos/issues/1196
Задачи In Progress:
- Добавление настройки в конфигурацию плагина json-rpc, позволяющей видеть запросы, не занимающие много времени в логе (wlog).
https://github.com/GolosChain/golos/issues/1222
Каналы коммуникации с 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.