Друзья, переезд на новый блокчейн уже не за горами, и мы готовы поделиться первыми итогами проделанной в этом направлении работы.
1. Новый репозиторий для Golos.io
Сейчас адаптируем клиент для CyberWay. На данный момент готовы:
- отображение лент «Новое», «Актуальное» и «Популярное»;
- отображение 3-х режимов отображения лент: обычный, сетка, компактный.
- отображение поста и комментариев к нему;
- отображение лент «Блог» и «Комментарии» в профиле пользователя;
- отображение счетчика комментариев к посту;
- отображение потенциальной награды (пока в rshares);
- авторизация;
- возможность отправить пост и комментарий;
- возможность поставить лайк/дизлайк;
- возможность подписаться/отписаться на пользователя;
- возможность редактирования данных пользователя и настроек;
Осуществили переход на фреймворк Next.js.
2. Библиотеки
Форк eosjs – API Javascript для интеграции с новым блокчейном.
Адаптировали под СyberWay.
JS библиотека представляет из себя обертку над cyber-js. Позволяет взаимодействовать со смарт-контрактами без необходимости погружаться в работу с cyber-js.
Реализовали работу со следующими контрактами:
- ctrl - делегаты и голосование за них;
- cyber - работа с аккаунтом и деплой контрактов;
- cyber.token - работа с токеном;
- emit - эмитирование токенов;
- publish - работа с постами и комментариями, голосование;
- social - фолловинг, блокировка, мета-данные;
- vesting - работа с вестингом.
Документацию еще пишем.
Swift Библиотека – инструмент для взаимодействия со смарт-контрактами и сервисами.
Сделали «режим чтения». Уже можно получать:
- ленты «Актуальное», «Популярное», «Новое»;
- пост и комментарии к нему;
- комментарии, написанные пользователем;
- профиль пользователя.
Помимо этого, с помощью данного сервиса можно пройти авторизацию.
В ближайшее время мы добавим методы для работы со смарт-контрактами.
Java (Kotlin) Библиотека – инструмент взаимодействия со смарт-контрактами и сервисами для Android приложения.
Реализовали:
- создание пользователя;
- эмитирование токенов, их перевод другому пользователю;
- работу с постами и комментариями, голосование;
- фолловинг, блокировку, мета-данные пользователя;
- работу с вестингом;
- интеграцию с сервисами Сyberway - соединение, авторизация;
- получение лент комьюнити, пользователя, подписок;
- получение комментариев к посту, комментариев пользователя;
- документацию к библиотеке.
Core-service – мощный инструмент, на основе которого построена большая часть наших сервисов. При помощи данной библиотеки любой разработчик может написать свой сервис для работы с данными СyberWay.
Реализовали и адаптировали к новому блокчейну следующие функции:
- легкий фреймворк для создания типового микросервиса;
- возможность подписаться на блоки блокчейна CyberWay;
- утилиты для работы с базами данных;
- утилиты для построения сетевого общения между микросервисами;
- мониторинг работоспособности микросервиса;
- утилиты тестирования сокет-соединений;
- утилиты работы с контентом;
- и многое другое.
3. Сервисы
Адаптировали к работе с СyberWay большую часть сервисов Golos.io.
Facade-service в нашей инфраструктуре представляет из себя роутер клиентских запросов. Он готов для взаимодействия с обновленным API CyberWay и прочими сервисами.
Детальное описание реализованных методов можно найти в документации.
Bandwidth-service предназначен для выполнения рутинных операций пользователями с нулевым балансом. Позволяет значительно снизить затраты на регистрацию (так как теперь не обязательно открывать CPU и Network bandwidth). Еще bandwidth provider дает возможность таким пользователям публиковать посты, комментарии и участвовать в голосовании.
Gate-service – сервис обмена данными между frontend и микросервисами Golos.io. Обновлен для использования с новым API.
Prism-service – новая сущность в нашей сервисной инфраструктуре, является заменой seed ноды для приложения Golos. Данное решение более гибкое, чем seed ноды голоса, сейчас это:
- хранилище постов;
- хранилище профилей пользователей;
- построение лент (плюс кеширование);
- расчет предварительных выплат;
- API для получения данных.
С помощью prism-service мы планируем реализовать полнотекстовый поиск по всей базе постов, а также гибкий и удобный поиск по тегам.
Registration-service – cервис для регистрирации пользователей в сети СyberWay.Реализован на основе аналогичного сервиса для блокчейна Golos.
Backend протестировали, занимаемся адаптацией frontend. Также немного улучшили производительность и исправление ошибок.
Notify-service – сервис рассылки уведомлений.
Переделали для работы с СyberWay. Помимо нового формата данных, который сервис способен принимать от блокчейна (в том числе и нового подписчика на блоки), он получил расширение в данных, отправляющихся клиенту. Благодаря интеграции с сервисом-призмой и новым блокчейном, notify-service возвращает дополнительные данные (например, аватар пользователя, поставившего лайк публикации), что значительно увеличивает скорость загрузки сайта и уменьшает нагрузку на клиент.
Auth-service – новый метод авторизации, который мы разработали и вынесли в отдельный сервис.
Теперь вместо того, чтобы создавать «фейковую» транзакцию и записывать ее в цепочку, клиент получает уникальный секрет для устройства и подписывает его своим ключом, а затем отправляет сервису. Сервис проверяет правильность подписанного секрета и сравнивает публичные ключи из подписи и из блокчейна для данного пользователя.
Таким образом, повысили:
- производительность и скорость авторизации, так как выделили ее в отдельный сервис и снизили нагрузку на блокчейн;
- безопасность, за счет увеличения криптографической сложности.
Документацию по работе со всеми сервисами можно посмотреть здесь.
4. Тестирование
Покрыли автотестами следующие смарт-контракты и сервисы:
- создание пользователя;
- эмитирование токенов, их перевод другому пользователю;
- работу с постами и комментариями, голосование;
- фолловинг, блокировку, мета-данные пользователя;
- работу с вестингом;
- интеграцию с сервисами Сyberway - соединение, авторизация;
- получение лент комьюнити, пользователя, подписок;
- получение комментариев к посту, комментариев пользователя;
- registration-service;
- auth-service;
- prism-service.
Итого, к настоящему моменту мы завершили 70% работы, необходимой для полноценного функционирования клиента Golos.io на блокчейне CyberWay.
В течение этой недели планируем выпустить все репозитории в публичный доступ.
Друзья, тестнет Golos.io на CyberWay будет развернут в ближайшее время, о чем мы обязательно вам сообщим, и расскажем что к чему.
Иллюстрация к посту – yandex.ru.
—
Подписывайтесь на официальный аккаунт блог-платформы Golos.io @golosio, чтобы быть в курсе развития проекта! Телеграм для ваших вопросов — https://t.me/golos_support.
Есть предложения, как сделать Golos.io лучше? Пишите в Issues на нашем Github, в наш Телеграм-канал или в чат разработчиков Golos.io в Телеграм!
—
С уважением, команда Golos.io @golosio: @azarod, @bacher, @b1acksun, @chinpu, @dan-kinescop, @des432, @devall, @format-x22, @insider, @ivan-blacky, @kucinskaya.alla, @machtfrei, @muhazokotuha, @msm72, @nickshtefan, @yulia.rodnikova, @yuri-vlad.
Читаю посты всех паникеров и смотрю их количество СГ. Балансы пустые, что вам терять?
У меня больше полкосаря евро в данный момент СГ и мменя даже в топ 100 нет. А те кто в топе, это большая часть людей кто с самого начала в проекте. Так почему ноют пользователи если они ничего не теряют?
90% тех кто читали этот пост даже не понимают всех технических формулировок. Вы как писали свои статьи, так и будете писать их дальше и получать копейки от наших апов и дальше. Чего вы ждете, что будут как в начале проекта выплаты? Так вы должны понимать, что не вложив и не собрав большое количество подписчиков вы останитесь такими же самыми ноунеймами как и сейчас.
Есть прогресс и есть регресс. Для вас создают платформу, на которую в дальнейшем придут и другие категории людей, не только писатели. Но и разработчики приложений, инвесторы, специалисты и прочие. Если вы так любите печатать, но не хотите ничего менять, то можно вернуться обратно к карандашу и бумаге, и в качестве нововведения делать потом самолетики и говорить как ваши текста летают в даль.
+++
@mrarturs Кто-то выразил мои мысли словами. Осталось написать "+"
@mrarturs ...я не знаю что произойдет после перехода на Сайбер Вей, может быть улучшение, а может ухудшение, но как прагматично-оптимистичный человек я за любой эксперимент! ..а ныть - это удел слабых людей, пусть ноют...
@smotritelmayaka как будет, так будет. Как написано на бумаге, меня все устраивает, точнее я бы выразился ничего плохого я для себя не вижу.
🤘
А ползунок там тоже будет постоянно пропадать и непредсказуемо будут появляться фиксированные 75% кураторских?
Уже полторы недели длится это безобразие, а вы молчите.
Неужели сложно выпустить пост с объяснением происходящего, чтобы многие с удивлением не обнаруживали перед выплатами у себя на постах 75%, а были внимательными перед выпуском?
Сама ситуация и ваше молчание по данному вопросу выглядят странно.
P.S. @yulia.rodnikova, я уже третий раз за неделю обращаюсь с одним и тем же вопросом, но почему-то нет ответа. Или я спрашиваю о чём-то неприличном, или вы считаете эту ситуацию нормальной, или...теряюсь в догадках.
@anjar одни делегаты выставили одну планку кураторских наград. Другие выставили другую.
Каков кураторский процент зависит от того, какой последний депутат подписывал блок.
Если хотите знать текущий процент, воспользуйтесь телеграм-ботом @golos_info50_bot
@virt, это всё понятно, и где смотреть - много разных способов, вопрос не в этом, а в том, что такая ситуация ненормальная, вроде же совсем недавно договорились, что работает ползунок и каждый ставит то, что считает для себя приемлемым, и вдруг опять всё поломали.
@anjar, да, такая ситуация сложилась в связи с тем, что у делегатов нет единого мнения на счет процента кураторских. Ситуация ненормальная. Но команда Golos.io не может повлиять на это, вопрос скорее не к нам.
@yulia.rodnikova Может! Если распределение наград становится фиксированной величиной, то вместо ползунка можно указывать фиксированный процент. Сейчас, если распределение становится фиксированным, автор перед публикацией играет в рулетку и даже не знает на каком уровне фиксирован данный процент.
@stepanov, там проблемка в том, что открывая форму и выбирая % кураторских подавляющее большинство авторов считает что всё ok, на самом же деле процент устанавливается лишь в момент нажатия кнопки "опубликовать" (отправки в блокчейн).
Так и возникает ситуация что напр. открыли форму в раунде с коридором 51-100%, добавили свой текст, выбрали 60%, но при публикации получили ошибку (так как 63 сек раунд закончился, а след. уже с фиксой 75%), обновили стр., вновь отправили, а тут уже 75% без выбора (и это станет понятно уже увидев % в ленте).
@yulia.rodnikova, всё же вопрос скорее к вам, учитывая, что ваш делегат поставил 75, теперь понятно почему вы отмалчиваетесь.
@yulia.rodnikova, спасибо, что ответили.
Мне кажется, что пост, с объяснением ситуации и заявлением вашей позиции, был бы очень уместен. Ведь последний раз, когда писали о проценте кураторских, речь шла о ползунке и общей договорённости. И вообще не было речи о том, что возможна ситуация, когда кто-то будет перебивать возможность свободного выбора навязыванием своего процента.
На мой взгляд стоит сказать вслух, что некоторые делегаты навязывают всем остальным своё мнение в ситуации, когда нет уже проблем поставить высокий кураторский процент, если есть такое желание. Я вижу в такой позиции части делегатов вредительство и злоупотребление своими полномочиями, и, по большому счёту, самодурство, учитывая, что работает ползунок.
Спасибо.
@anjar, да, после появления ползунка выбора % кураторских при публикации с golos.io и исправления бага многие делегаты так и не вернули "возможность выбора" авторам. Жаль, но это выбор каждого из них (а значит и тех пользователей из сообщества, кто продолжает поддерживать таких делегатов).
@lex, чувство, что пользователи сильно изменились с декабря 2018, когда были впервые введёны фиксированные 75. Или самые неравнодушные ушли(а ушло немало, и уходит), или в преддверии переезда никто уже не обращает внимание на такие "мелочи", под шумок ситуацией и воспользовались.
А команда молчит, потому что это их делегаты.
@lex С кого из ТОП нужно снять?
@stepanov, % выст. делегатами удобно смотреть тут https://golos.arcange.eu/witnesses/
А когда вы переезжаете?
Очень интересно. За весну управитесь? Как то уж долго длится этот переезд, но с другой стороны я успею вывести токены голос для конвертации их в кибервей. У стима между тем тоже задержки с ихними токенами. Даже не знаю кто придет к финишу первым.
/
@terminated совсем нельзя. Это особенности децентрализованных сервисов.
Голосио может отключить его отображение в голосио. Но не более того.
/
Всем приготовиться к крушению. Крупные суммы денег - вывести. Важные посты - скопипастить и сохранить.
@terminated, ну не настолько же. Как кулак, прячущий зерно перед продразвёрсткой. :)
@ms-boss Необходимая предосторожность. Проекты, которые объявляют о переходе куда-нибудь на что-нибудь, часто не возвращаются или возвращаются много позже, чем планировали. Таковы реалии отрасли.
Ребят, размышляю над вариантом использования Golos в качестве смарт-контракта: хотим записывать этапы обучения нейросетей в блокчейн, это разметка, обучение и тп. Для этого нужна разработка, либо с эфиром интеграция, создание контракта и тп, разработка дорогая и долгая. Скажите, с кем обсудить идею использования Голос как упрощенной замены смарт-контракта, ну то есть по АПИ слать пост запросы в голос, а все блокчейн операции уже тут выполнятся.
Не охота в полотна доков погружаться, тем более переезд на новые технологии намечается
Переезд, говорите, наверное это неплохо или не хорошо. Слабо разбираюсь, судить придётся по плодам/делам их. Но вот сейчас уже начинается ловля рыбы в мутной воде.
Когда ставили 75% кураторских, предупредили, как-то объяснили. Доволен ты или нет, но ситуация предсказуема. Ты знаешь, на что можно рассчитывать и как-то от этого пляшешь. Потом объявили о 50%. НОрмально, авторы вздохнули легче. Правда как в супермаркете вместо 1 кг в развес поставили 900 гр по той же цене. А что, 51%, хвостик маленький, но если овец много, то и шерсти со всех немало. Ага, кнопочку организовали (правда по-тихому, без рекламки). А когда овцы привыкли к режиму стрижки, овечий цирюльник без предупреждения вместо маленького пучка в 1 %, щипанул ещё 24 (итого 75). И всё по-тихому, с улыбочкой.
Мне более понятна позиция мелкого пакостника-флагователя. Да, гадит всем, но предсказуемо и ожидаемо. Пусть растит себе карму, это её выбор. Но процент выставляет куратор, это людины, за которых вроде как народ голосовал (хотя бы формально), уважать народ надобно.
Огласите имя цирюльника, страна должна знать своих героев!
Я почитал предыдущие комменты с утра, сейчас может и прибыло, но соглашусь с мнением @anjar.
Мы, конечно, переживём, но осадочек остался.
А имени того героя ...
Извините, уважаемые, за может излишнюю иронию и сарказм.
Правда, если бы писал здесь после того, как обнаружил под своими постами 75 кур... пришлось бы писать пи...пи...пи...пи... ... ... Таки, не принято мат публиковать.
Будьте здоровы)
@bambuk, таков текущий выбор делегатов (смотреть можно тут https://ropox.app/chainprops), одни хотят зафиксировать определенный %, другие предоставить выбор для авторов (консенсуса нет). Вот и происходят скачки % каждый раунд (63 сек), когда тот или иной резервный делегат попадает в очередь и меняет ситуацию.
Благодарствую, @lex , за ответ. Примерно так я этот механизм и представляю.. Просто долго стояло 50-51 и как-то стало привычным, ожидаемым и перестал обращать внимание. Просто постил. И тут опять движуха посыпалась. Вот только что выставил ползунок на 60, а прилетело 75. И как это?
@bambuk, % устанавливается в момент нажатия кнопки "опубликовать", а не открытия формы или выбора процента. Вот и получается, открыли форму в раунде с коридором 51-100%, выбрали 60%, но при публикации получаете ошибку (так как 63 сек раунд закончился, а след. уже с фиксой 75%), обновили стр., а тут уже 75% без выбора...
P.S. Можно было сделать всплывающее окно выбора процента при нажатии кнопки опубликовать (что не очень с точки зрения "юзабилити" интерфейса, но сокращает вероятность ошибки с переходом в раунд иного %). А так, только и остаётся договариваться с делегатами, что сложно сделать когда они не собраны в одном месте для "общения", а многие и вовсе отсутствую неделями/месяцами на проекте.
Благодарствую, @lex , я примерно уже понял.Не знаю, может это и неправильно, но зашёл на страничку голосования за делегатов и поснимал со всех, кто 75-80 держит. А активным 50-десятникам отдал. Раз люди не понимают или просто свою выгоду ищут, я их поддерживать не буду. Да, мои голоса ничего не решают и в общем-то ничего не значат, знаю. НО так будет более справедливо.
Кстати, у меня остались ещё голоса, было бы правильно их тоже отдать нормальным делегатам.
Всего отдал 16 голосов. Согласно https://ropox.app/chainprops, всех активных (выше таблицы ПОДДЕРЖКА) 50-десятников я отголосовал. В списке поддержки народу много и я никого не знаю из них. Подскажите (если это корректно), кто из этих делегатов активен и адекватен, я готов довериться вашему мнению и проголосовать за них.
@bambuk, почему-же, это наоборот правильно, выбирать тех делегатов чьё мнение (параметры блокчейна) вам близки. Кстати, советую эту страничку где можно сразу видеть параметры (те же Cur. Min%, Cur. Max%) - https://golos.arcange.eu/witnesses/ (и переходить по нику на страничку для постановки\снятия голоса).
По вопросу выбора, всё очень субъективно, он порой обусловлен личным общением, а не только параметрами...
@lex посмотрел я эту таблицу... что б я там что-то понимал))) А из делегатов знакомо человек 6 не более. По живому общению вы четвёртый) Но голосов-то больше))
Ладно, может кто сам предложит или узнаю что про кого. Вот просто так отдавать голоса не хочется)
@bambuk, напр. можно обратить внимание на столбец Auction (secs), это штрафное окно, т.е. сколько секунд с момента публикации оно продлится. Полагаю делегаты оставившие его либо не разобрались с значением (забыли поменять), либо считают что пользователей нужно штрафовать за раннюю поддержку постов...
Справа от этого столбца видны и параметры % кураторских, т.е. вы можно сразу видеть и цифры резервных делегатов, поддержать их. А кликнув на ник делегата тут http://steemul.ru/witnesses/ можно увидеть не только кто его поддерживает, но и кого поддерживает он сам (в конце страницы).
@golosio, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующей категории:
Скажите, пожалуйста, где вы брали документацию для работы по адаптации клиента для CyberWay? Где то секретное место, в котором она лежит?)
Я вот об этом:
Она уже есть или вы работали без неё?
@anela Мы сами эту документацию и пишем, если речь идет о документации работы с сервисами :)
Она сейчас не находится в полностью готовом состоянии, но ее уже можно смотреть и пользоваться ей, о чем было написано в посте. Вот еще раз ссылка :)
@ivan-blacky не сочтите за труд, ткните меня носом туда, где описана структура mongodb cyberway...
@anela, это вопрос к команде goloscore.
Сегодня обсуждали в https://t.me/goloscoretc
@yulia.rodnikova спасибо)
Примерные сроки напомните пожалуйста. Очевидно, что точной даты перехода нет, и примерные сроки всегда могут измениться - так назовите их поэтому, сейчас, на текущий момент.
Для определенности. ) Если вам не трудно)
@irkinmick, апрель-май, вероятнее всего, если все идет по плану...
@marina
Это уже несколько определенней! Обожаю определенность!
....
Спасибо! :)
Это собственная имплементация https://github.com/EOSIO/demux-js ?
@vik Нет, это совсем другое.