Программное обеспечение для сервиса обмена viz-USDT распространяется свободно и может использоваться кем угодно и как угодно, без изменений или с доработками.
Код сервиса
Сервис состоит из трёх компонентов:
- Серверная часть (набор скриптов);
— скрипты для определения цены viz и для транзакций токенов;
— Телеграм-бот администратора для управления обменником;
— «канарейка» — сервис, сообщающий о работоспособности обменника в данный момент. - Клиентская часть (интерфейс на my.viz.plus);
— необходимые аккаунты в блокчейнах VIZ и Ethereum с соответствующим объёмом средств.
Разработчик может пойти одним из двух путей: создать собственный интерфейс к обменнику VIZPLUS или запустить полностью свой обменник на базе программного обеспечения от VIZPLUS.
Во втором случае необходимо подготовить достаточно большой объём средств в токенах viz и USDT для создания резервов.
Код достаточно полно прокомментирован, есть пояснения по установке скриптов. При необходимости, можно запросить консультации через группу https://t.me/vizplus.
API через блокчейн
Вся необходимая для работы внешнего интерфейса информация поставляется через custom-операции на аккаунтах в блокчейне VIZ.
Аккаунт data.exch.bank.viz.plus публикует актуальные данные для расчёта цены визов при сделках. Они обновляются после каждой сделки и после каждого перезапуска обменника, например, при ручном изменении параметров или после сбоя.
Аккаунт bird.exch.bank.viz.plus каждые три минуты сообщает, что обменник работает. Если сервер по каким-то причинам отключается, bird «замолчит», что позволит разработчику автоматически отключать интерфейс, чтобы не вводить в заблуждение клиентов.
Публикация данных обменника в блокчейне VIZ означает, что для работы интерфейса не требуется каких-либо разрешений от владельцев сервера со скриптами. Интерфейс фактически работает через своего рода «API», получая всю необходимую информацию из открытого источника.
Кроме того, открытость данных (адресов кошельков) позволяет вести непрерывный аудит состояния резервов.
Принципы работы обменника
Цена обмена при каждой сделке определяется автоматически, по формулам, учитывающим изменение объёма резервов токенов в ходе сделки и количество токенов в резервах. Формулы основаны на алгоритме Bancor relay: чем меньше данного токена в резервах (пулах ликвидности), тем он дороже.
При этом рост цены токена при серии покупок происходит непропорционально быстро. Темп этого изменения задаётся параметром, которым управляет оператор обменника.
В отличие от классических примеров «связанных токенов» в алгоритме Bancor relay, где весь объём эмиссии нового токена обеспечен базовым токеном, в обменнике viz-USDT используется только небольшая часть эмитированных токенов viz.
Поэтому теоретически возможна ситуация, когда крупный покупатель или продавец мог бы одним ордером «обнулить» резерв одного из токенов.
Чтобы этого не допустить, в обменнике установлены лимиты на максимальный объём покупки и продажи viz одним ордером, которые пересчитываются после каждой сделки.
Наградить автора поста