Что я сделал для Голоса в свои годы


ninja.jpg

Приветствую!

Меня зовут Игорь @b1acksun. Вот уже более года являюсь разработчиком golos.io. Карьеру начинал как JAVA разработчик: работал в крупном банке, разрабатывал и поддерживал систему приема платежей от населения. Успел поработать и в Hewlett-Packard. Разрабатывая различные сервисы, все чаще начал сталкиваться с задачами, которые требовали наличия web интерфейса. Вот с этих пор я и заинтересовался web разработкой.

С самого начала работы большинство моих задач в Голосе связаны с разработкой и поддержкой сервисов golos.io. В первую очередь — это клиент tolstoy. Помимо поиска и устранение багов, разработки новых фич, самым главным является подготовка клиента к хардфоркам.
В рамках этой задачи необходимо, как минимум, при изменении API, делать работоспособным клиент, как максимум — добавлять новые возможности.

Из самого интересного, что я сделал для Голоса:

1. Реализация пользовательских активов (UIA)

Самая объемная задача. Была реализована логика и интерфейс для создания, выпуска, сжигания и просмотра информации о пользовательских активах (UIA и bitAsset).

2. Разработка внутренней биржи

В рамках данной задачи была разработана биржа, которая позволила торговать пользовательскими активами (на основе BitShares).

3. Оптимизация скорости работы клиента

Думаю, многие помнят времена, когда ноды работали нестабильно и долго отдавали данные. Было решено найти узкое место. В этом помогла система метрик встроенная в клиента, которая замеряла время ответа (отдельное спасибо @muhazokotuha, который поднял сервис для сохранения и визуализации этих данных). Как только были собраны данные, сразу же стало ясно какие из вызовов можно кешировать. Был разработан кеширующий сервис для лент “Новое”, “Актуальное”, “Популярное”. В качестве хранилища выступал Tarantool.

4. Подготовка Golos.io к хардфоркам

  • При подготовке к 17 ХФ мной был реализован метод get_state (так как он был удален из демона). Данный метод служит для начального формирования состояния приложения. Во время реализации в клиенте он был полностью покрыт тестами, что позволило исключить его неправильное поведение.
  • При подготовке к 18 ХФ мной был реализован фича-флаг, который позволил сразу же после принятия хафрдфорка в клиенте «включить» весь новый функционал. Раньше для этого приходилось сразу после активации ХФ производить деплой.

    5. Поддержка библиотеки golos-js

    Важный для меня момент: постоянная работа с библиотекой golos-js, ее поддержка. Эта библиотека — один из способов получить/записать данные из/в блокчейн. Крайне важно, чтобы она всегда соответствовала последним изменениям в API.

    6. Раннее тестирование релиз-кандидатов демона

    Я тестирую основной функционал релиз-кандидатов новых хардфорков. Это позволяет на раннем этапе выявить основные неточности и ошибки. В результате, адаптация клиента к ХФ происходит бесшовно и без ошибок, заметных пользователям.

Считаю, что делегатами Голоса должны быть люди, максимально связанные с разработкой клиентов и инфраструктуры экосистемы!

Как и многим жителям платформы, мне хочется бурного развития блокчейна Golos. Это и появление новых фич, и стабильность работы, и увеличение количества пользователей. Немаловажным пунктом выступает развитие экосистемы — ведь чем больше сервисов существует, тем больший приток пользователей и разработчиков, тем больший рост самой платформы. Со своей стороны, готов максимально делиться наработанным опытом по разработке приложений и сервисов Голоса как с новичками, так и с разработчиками альтернативных клиентов и сервисов через свои отчетные посты делегата и в живом общении. Поддержите меня как делегата Голоса!

Связать со мною можно с помощью Telegram b1acksun_me или же в чатах поддержки Golos.io и Голос | Разработка, Golos•Core Techchat

Голосуйте за мою делегатскую ноду
vote_.jpg

Или с помощью команды в cli_wallet:
vote_for_witness your_username b1acksun true true

Ваша поддержка и фидбек очень важны для меня!
Спасибо!


Комментарии 5


Чтобы читать и оставлять комментарии вам необходимо зарегистрироваться и авторизоваться на сайте.

Моя страницаНастройкиВыход
Отмена Подтверждаю
100%
Отмена Подтверждаю
Отмена Подтверждаю