Golos.io: Предложения по содержанию хардфорков и софтфорков

счастье.jpg

Друзья, в ближайшее время нас ждет хардфорк. Мы очень надеемся, что следующие хардфорки будут проводиться по плану, и каждый хардфорк или софтфорк будет улучшать работу децентрализованных приложений.

Сейчас идет обсуждение содержания следующего хардфорка. Команда @golosio подготовила список задач для @goloscore, которые должны сделать Golos.io более удобной для пользователей платформой.

Голос был создан как форк Стимита. Однако, часть взятых оттуда решений может быть улучшена. Мы предлагаем пересмотреть некоторые нюансы взаимодействия пользователя с блокчейном.

1. Дать возможность пользователям вносить изменения в профиль при помощи постинг ключа.

В планах @golosio стоит внедрение функции закрепленных и избранных постов, в текущий момент для внесения правок в профиль, будь то смена аватарки, информации “о себе” или добавления поста в избранное необходимо использовать активный ключ, что значительно усложняет юзабилити и потенциально несет в себе проблему безопасности - мы считаем, что нужно свести к минимуму использование активного ключа на платформе, по факту единственное место, где он действительно необходим - перевод коинов другому пользователю. В идеале мы бы хотели запретить ввод активного или мастер ключа на сайте golos.io везде, кроме подтверждения совершения транзакции.
Представьте себе, что вам придется вводить активный ключ каждый раз при желании сохранить себе понравившейся пост в избранное. Пользователи Golos.io недоумевают почему эти простые действия требуют активного ключа.
В связи со всем выше озвученным мы предлагаем внедрить отдельную операцию обновления json_metadata (именно тут хранится информация, которую вы вносите в профиль: Имя, ссылка на аватар, и т.д.), с использованием постинг ключа.
Изменение данной структуры подразумевает версионирование протокола, а это значит, что данная функция может быть реализована только в рамках хардфорка. Мы предлагаем вести техническую дискуссию по данному вопросу в рамках созданного issue.

2. Улучшить систему описания ошибок, унаследованную от Стимита.

Даже для разработчиков, тесно работающих с блокчейном, далеко не все ошибки, которые выдает демон, являются понятными и прозрачными. Что уж говорить об обычных пользователях, особенно новичках, которые видят ошибку “Account exceeded maximum allowed bandwidth per vesting share”.

скрин.jpg

Поэтому @golosio озадачился систематизировать системные ошибки, которые приходят со стороны блокчейна, и адаптировать их для пользователей golos.io
Для этого нужно:

  • cобрать список всех возможных ошибок, которые могут прийти со стороны чейна;
  • присвоить каждой ошибке собственный, уникальный цифровой код;
  • задокументировать описания каждой возможной ошибки, описать вероятный эффект, при возникновении ошибки, и, желательно, способ устранения;
  • перевести текст системных ошибок чейна для клиента golos.io.

Первые три пункта необходимо реализовать со стороны @goloscore, последний пункт должен быть реализован командой @golosio.

3. Добавить фильтрацию тегов, позволяющую удобно настраивать ленту.

В первую очередь мы ждем от @goloscore решения проблемы API по фильтрации тегов. После этого пользователи смогут сохранять для себя список интересующих тегов, отписаться от выдачи конкретных тегов и получат возможность фильтровать и настраивать свою ленту максимально удобно.
В текущий момент методы типа get_disscussions_by_* можно вызывать с параметрами select_tags и filter_tags и, если первый показывает какой-то результат, то второй не работает совсем.

4. Реализовать постраничный вывод информации для реализации системы приватных сообщений.

Сейчас команда @golosio активно занята разработкой системы приватных сообщений. Один из блокирующих факторов это отсутствие возможности получить информацию постранично. Допустим, вы активно переписываетесь со своими подписчиками, друзьями, или партнерами по сообществу на платформе Golos.io и у вас накопилось более 10000 сообщений. В данный момент при запросе списка входящих и исходящих сообщений пользователь получит все 10000 сообщений. Такой запрос будет выполняться долго как со стороны самого блокчейна, так и со стороны клиента парсинг такого количества сообщений со стороны клиента будет занимать значительное время. Теперь представьте, что сообщений у вас не 10000, а 1000000. Опыт «Телеграма» подсказывает, что сообщений может быть и больше. Это касается и выдачи данных о транзакциях и любых подобных списков. Для решения этой задачи мы предлагаем внедрить в API вызовы параметры типа limit и offset.

Выше было сказано, что последние две задачи стоит объединить в одну глобальную. Основное предложение заключается полном обновлении API в соответствии со спецификацией JSON-RPC 2.0, с которой можно ознакомиться здесь. Мы хотели бы поднять дискуссию как с сообществом, так и с @goloscore. Реализация данного предложения потребует достаточно много времени на рефакторинг текущего кода, но в итоге и сообщество и все разработчики клиентов получат удобный инструмент для работы с блокчейном.
В результате мы получим понятный как человеку, так и компьютеру язык взаимодействия между блокчейном и клиентом.
Вот пример такого взаимодействия.

--> {"jsonrpc": "2.0", "method": "database_api.get_block", "params": {}, "id": 3}
<-- {"jsonrpc": "2.0", "result": {“id_block”:12}, "id": 3}

batch
--> [
{"jsonrpc": "2.0", "method": "database_api.get_dynamic_global_properties", "params":{}, "id": "1"},
{"jsonrpc": "2.0", "method": "database_api.get_block", "params": {}},
]
<-- [
{"jsonrpc": "2.0", "result": …., "id": "1"},
{"jsonrpc": "2.0", "result": {“id_block”:12}, "id": "2"},
]

Часть описанных задач можно решить с помощью софтфорка, часть с помощью хардфорка. Просим обратить внимание сообщества и делегатов на эти моменты. Решение этих небольших задач должны сделать лучше и удобней не только платформу Golos.io, но и облегчить разработку на блокчейне «Голоса» для всех клиентов.


Чтобы поддержать делегата @golosio надо:

  1. зайти на страницу
  2. нажать на значок «вверх» слева от имени пользователя @golosio
  3. ввести пароль от своего аккаунта и нажать «Войти».

Будем благодарны за вашу поддержку.

Иллюстрация к посту.


Подписывайтесь на официальный аккаунт блог-платформы Golos.io @golosio, чтобы быть в курсе развития проекта! Телеграм для ваших вопросов — https://t.me/golos_support. Лучшее на Голосе — https://t.me/golos_best
Есть предложения, как сделать Golos.io лучше? Пишите предложения в Issues на нашем Github или в наш Телеграм-канал!

С уважением, команда Golos.io @golosio: @alex-firsov, @b1acksun, @dan-kinescop, @dekol, @insider, @jevgenika, @chinpu, @muhazokotuha, @nickshtefan, @pav, @sualex, @yulia.rodnikova, @yuri-vlad.

golosio
240
91.967 GOLOS
0
В избранное
Golos.io
Официальный аккаунт команды Golos.io. Подписывайтесь и будьте в курсе жизни блог-платформы!
240
0
Комментарии (35)
Сортировать по:
Сначала старые
Зарегистрируйтесь, чтобы проголосовать за пост или написать комментарий
Авторы получают вознаграждение, когда пользователи голосуют за их посты. Голосующие читатели также получают вознаграждение за свои голоса.