Новости 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 сообщений.
Старый формат:
{
"params": [MAGIC_NUMBER, "get_dynamic_global_properties", []],
"id": 1,
"method": "call"
}
Новый формат:
{
"jsonrpc": "2.0",
"method": "call",
"params": ["database_api", "get_dynamic_global_properties", []],
"id": 1
}
Разделили методы работающие с database_api и social и вынесли в разные плагины. Т.е. разместили код более удобно и логично.
Важно!
Все методы работают в стандартной режиме, мы не меняли сигнатуры методов. Метод get_state команда больше не поддерживает. Данный метод возвращает большое количество бесполезной информации, создает избыточные данные, образующие большие по размеру файлы.
Что изменилось в формате json.
Усилили проверку спецификации версии jsonrpc 2.0: вызов метода не будет отрабатывать без имени плагина. Также, упростили работу с методами - теперь чтобы они работали не нужна вызывать get_api_by_name, а нужно просто обращаться по имени плагинов.
Мы изменили сопоставления некоторых методов плагинам.
Актуальный мапинг выглядит следующим образом
account_by_key =>
get_key_references
auth_util =>
сheck_authority_signature
Block_info =>
get_block_info
get_blocks_with_info
blockchain_statistics => (убраны api методы. Теперь отправка данных из демона идет в statd)
account_statistics => (убран, вследствие отсутствия методов)
database_api =>
get_active_witnesses
get_miner_queue
get_block_header
get_block
get_ops_in_block
get_config
get_dynamic_global_properties
get_chain_properties
get_current_median_history_price
get_feed_history
get_witness_schedule
get_hardfork_version
get_next_scheduled_hardfork
get_accounts
lookup_account_names
lookup_accounts
get_account_count
get_owner_history
get_recovery_request
get_escrow
get_withdraw_routes
get_account_bandwidth
get_savings_withdraw_from
get_savings_withdraw_to
get_witnesses
get_conversion_requests
get_witness_by_account
get_witnesses_by_vote
lookup_witness_accounts
get_witness_count
get_transaction_hex
get_transaction
get_required_signatures
get_potential_signatures
verify_authority
verify_account_authority
get_account_history
follow =>
get_followers
get_following
get_follow_count
get_feed_entries
get_feed
get_blog_entries
get_blog
get_account_reputations
get_reblogged_by
get_blog_authors
market_history =>
get_ticker
get_volume
get_order_book
get_trade_history
get_recent_trades
get_market_history
get_market_history_buckets
get_open_orders
network_broadcast_api =>
broadcast_transaction
broadcast_transaction_synchronous
broadcast_block
Private_message_plugin =>
get_inbox
get_outbox
Raw_block =>
get_raw_block
social_network =>
get_replies_by_last_update
get_trending_tags
get_trending_categories
get_best_categories
get_active_categories
get_recent_categories
get_discussions_by_trending
get_discussions_by_created
get_discussions_by_active
get_discussions_by_cashout
get_discussions_by_payout
get_active_votes
get_discussions_by_votes
get_discussions_by_children
get_discussions_by_hot
get_discussions_by_feed
get_discussions_by_blog
get_account_votes
get_discussions_by_comments
get_tags_used_by_author
get_discussions_by_promoted
get_content_replies
get_discussions_by_author_before_date
get_content
get_languages
test_api =>
test_api
test_api_b
Расширение программы 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