Golos.io: Новости разработки iOS и Android приложений

2 месяца назад
70 в golosio

мобильная разработка.jpg

Друзья, новостей мобильной разработки стало так много, что мы решили выносить их теперь в отдельные посты. Итак, поехали!

1. iOS приложение Golos.io

С начала апреля и до середины мая в работе были две большие задачи: создание функционала для организации чтения и записи из/в блокчейн. Для операции чтения пока реализовано шесть API, для записи - только одна операция “vote”.

На данный момент обе задачи сводятся в единый тестовый проект, который после тестирования составит основу будущей Swift-библиотеки.

1.1. Как была организована работа по iOS приложению

  • Основной подход для работы с блокчейном описан здесь. Пример исходного кода написан на языке программирования Python (автор статьи @xeroc). Из него в проект перекочевал алгоритм сериализации транзакции (процесс перевода структуры данных в последовательность байтов) и её хеширования. Для выполнения пошаговой сверки значений, получаемых для каждого поля, входящего в транзакцию, файл Python-проекта был подключен к среде разработки Xcode, где дополнительно были добавлены операторы print(). При работе с данными в Swift используется тип данных Byte:
    public typealias Byte = UInt8.

  • Основная проблема была связана со сложностью реализации подписания сериализованного буфера, поскольку напрямую перевести код с Python на Swift не получалось из-за отсутствия соответствующих сторонних библиотек. Поэтому было принято решение взять уже готовый код для других языков программирования (Ruby, C#, Java) и попытаться реализовать его на Swift.

  • По Ruby коммуникация шла с разработчиком @inertia, который предложил свою библиотеку.

  • Благодаря помощи в тестировании и сверке промежуточных значений, удалось из C# библиотеки в коде реализовать метод SignCompressedCompact(), плюс еще три дополнительные вспомогательные функции. Спасибо @korzunav из @steepshot. Мы закончили на этапе проверки подписания.

1.2. Основные трудности, связанные с методом подписания.

  • Ошибка при выборе типа обрабатываемых данных. Использовались Data, String. В конечном итоге пришли к типу UInt8, которому дали имя “Byte”.

  • Были обнаружены и устранены три логические ошибки в обработке данных. Кроме того, мы пошагово сверяли все конвертируемые данные с самого начала сериализации транзакции. @andreypf из команды @goloscore помог разобраться с багами в работе непосредственно метода подписания.

  • Еще одна ошибка была связана с тем, что добавление 60 секунд к полю “time” происходило внутри метода сериализации, а данная операция должна происходить на этапе формирования транзакции.

Еще раз большое спасибо всем, кто помогал в нелегкой борьбе по разработке Swift-библиотеки для iOS приложения Golos.io!
Из команды @golosio это: @msm72, @yuri-vlad, @b1acksun, @nickshtefan, @pav и @sualex. @andreypf из команды @goloscore. И @korzunav из @steepshot.

2. Android приложение Golos.io

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

Android_fin.jpg

В настройках профиля появился раздел "Онлайн уведомления на Golos.io", при переходе в который открывается отдельная страница настроек для уведомлений.

Андроид.jpg

Обновить приложение, или скачать его можно здесь.

Протестируйте и напишите нам, пожалуйста, в комментариях, что думаете о работе данного функционала.
А также, если у вас есть идеи по улучшению работы Android приложения, можно направить их на почту [email protected]

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


Подписывайтесь на официальный аккаунт блог-платформы 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, @msm72, @nickshtefan, @pav, @sualex, @yulia.rodnikova, @yuri-vlad, @devall

Авторы получают вознаграждение, когда пользователи голосуют за их посты.
Голосующие читатели также получают вознаграждение за свой голос.
Порядок сортировки:  Популярное

С онлайн пушами на андройде очень удобно и нужно. Молодцы! А то раз в час заходил, чтобы проверить уведомления и чувствовал себя в 20 веке.

·
52
  ·  2 месяца назад

@yurus, спасибо за фидбек!

51
  ·  2 месяца назад

Отлично!! Как же я жду приложения на IOS, а то через моб версию сидеть, а там постоянное масштабирование и обновление страницы + отсутсвие пуш уведомлений
Скорей бы тестит

·
52
  ·  2 месяца назад

@nikitadyakonyk, насколько это возможно, стараемся ускорить процесс.
В мобильной версии сайта пуш уведомления работают. Только что проверили с коллегами, все ок.
Может быть, у вас отключены какие-то настройки на телефоне? И еще, когда логинитесь, нужно дать согласие на получение уведомлений.