Блокчейн финтех

Разрабатываем мультивалютные легкие кошельки, кошельки для Dapps, а также сервисы обмена и инструменты анализа рынка. Веб, настольные, мобильные приложения.

далее
далее
Кейс 20

Разработка агрегатора криптообменников Swapzone

Сроки
Запуск
2.5 месяца
РЕЛИЗ
2020 год
Технологии
DESKTOP
React.js, Redux.js,
SSR, Node.js, Koa.js

О проекте

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

Evercode Lab
Evercode Lab
Evercode Lab

Задачи

Для того, чтобы сервис полноценно функционировал, нами были выделены следующие глобальные задачи:

  • Настройка логики интерфейса клиента
  • Добавление новой функциональности в панель администрирования и настройка управления сервисом
  • Интегрирование новых обменников

Решение

Настройка логики интерфейса клиента

Заказчик нам передал проект, который, на первый взгляд, имел вполне работающий функционал. Но после проведения ряда тестирований мы выяснили, что первое суждение было неверным.

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

Первоначально, считали, что это баг в самом коде. Но после более глубокого анализа мы выяснили, что проблема была в логике подсчета курсов.

Сложность состояла в том, что после выбора валют пользователь видит курс одной валюты относительно другой в виде 1 ХХХ= … ХХХ. Однако только лишь у части валют 1 является количеством, которое бы попадало в промежуток между минимальным и максимальным количеством, доступным для обмена. У некоторых криптовалют минимальное количество для обмена отсчитывается от 100, а то и от 1000.

Вдобавок, сами обменники выставляют допустимые границы минимального и максимального количества, проводимого с использованием их API. Есть те, у которых минимальное/максимальное количество для обмена выставлено больше 1. Поэтому мы не можем запросить курс одной валюты к 1 другой валюты напрямую у обменника.

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

Улучшение панели администрирования

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

На этапе аналитики наша команда и заказчик пришли к выводу, что необходимо добавить новый раздел «Обменники», в котором бы возможно было включать/отключать отображение обменников в интерфейсе клиента. Впоследствие, эта функциональность была расширена для нового дизайна сервиса.

Также слегка изменили верстку интерфейса панели администрирования, заменив на более современный дизайн, и добавили отображение нотификаций.

Интеграция обменников

Интеграция обменников происходит через подключение их адаптеров.

Адаптер – это объект JavaScript, в котором описаны набор методов и их свойств. У всех адаптеров есть методы, которые одинаково называются, принимают одни и те же параметры на вход и отдают одинаковые по структуре данные. Но внутри этих методов у каждого адаптера возможна различная реализация, которая нужна для работы с соответствующим обменником.

Из-за таких особенностей в работе API обменников, усложняется, как процесс интеграции каждого нового обменника, так и увеличивается время на саму интеграцию.

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

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

Таким образом, если обменник захочет стать партнером сервиса, ему необходимо будет отправить команде Swapzone файл с заполненным адаптером, который и будет подключен на backend сервиса в короткие сроки.

Результаты

После 2,5 месяцев работы мы выполнили следующие задачи:

  • настроили логику подсчета курса валют с учетом особенностей как криптовалют, так и обменников
  • добавили новый раздел «Обменники» в панель администрирования, что повысило уровень контроля над сервисом без необходимости написания дополнительного кода
  • унифицировали процесс интегрирования новых обменников
  • написали общедоступную инструкцию для обменников, которые хотят стать партнерами сервиса
  • интегрировали 7 новых обменников и обновили настройки уже интегрированных
Расскажите нам о своих идеях, и мы предложим лучшие решения!
Связаться с нами
Другие кейсы
v