Сегодня в 15-00 Мск произошел ХардФорк (смена программного кода блокчейна). В связи с этим, программный код основной ноды Mapala также был изменен. После обновления выяснилось, что часть функционала, которая используется нами для определения принадлежности приватного ключа пользователя - не работает. В связи с этим, командой Голоса и Мапала предпринято ряд мер, которые до сих пор не увенчались успехом.
В чем проблема?
В коде клиента Mapala используется функция API блокчейна: get_key_references, с помощью которой производится верификация ключа пользователя при его введении. Из пароля или приватного постинг-ключа получается публичный постинг-ключ, он отправляется в блокчейн, а в ответ приходит имя аккаунта, которое затем используется для публикации, апвоутов, и т.д.
По.. пока неизвестным причинам, после ХФ16 - get_key_references не отдает никаких аккаунтов, в ответ приходит всегда пустой массив, как будто никаких аккаунтов в блокчейне и нет.. В связи с этим, любые изменения ключа на Mapala стали недоступны.
Что было предпринято?
Команда Голоса уже почти сутки пытается найти причину «упертости» блокчейна (об этой проблеме стало известно еще вчера ночью, благодаря @primus). Нам же, чтобы восстановить полную работоспособность клиента.. пришлось отключить верификацию ключа.
В связи с этим..
Вход с помощью постинг-ключа временно недоступен;
При входе с помощью пароля не происходит верификация никнейма аккаунта, а значит, будьте внимательны.. не опечатайтесь ;-)
Какие выводы?
Честно говоря, это неожиданная проблема. Нежданчик)) Чтобы такого больше не происходило, нам необходимо поднять тестовый домен с полноценным функционалом, который будет работать в тестнете перед перед каждым хардфорком. Да, полная настройка нескольких серверов - это головная боль для программистов, но.. хардфорки - дело не частное, и в следующий раз, мы будем это учитывать.
Прошу сообщество программистов помочь в решении возникшей проблемы с API блокчейна.
P.S.: на ход pre-ICO проблема никак не влияет. Все отправленные средства в период технических работ - уже на своих местах.
Автотесты спасут?
Это ведь стандартная функциональность, значит можно написать автотесты.
Спасут, и конечно, они должны быть. Но мы не занимаемся блокчейном Голоса, только лишь его применением.. Надеюсь, команда Голоса решит проблему так быстро, как только смогут.
А еще лучше включайтесь в наши тестнеты