Дмитрий Мартьянов

Основатель Frontend Production

Всем привет, меня зовут Дмитрий, я с 2015 года занимаюсь разработкой веб-интерфейсов, сейчас развиваю аутсорсинговую компанию. 

В этой статье расскажу, о том, что мне пришлось пережить при разработке уникального децентрализованного P2P-обменника криптовалют на обычные денежки. Погнали!

Начало. 2017 год.

Давайте представим: у вас есть потребность купить криптовалюту, но как это сделать обывателю? Безопасного обменника нет. 

Существовала только такая штука как BestChange, агрегатор крипто обменников, где комиссия составляла до 10%. К его минусам также можно было отнести и то, что это централизованные обменники при этом незаконные, что означает - ты отправляешь крипту фиг знает куда и не факт, что к тебе придут твои родные рублики. 

Криптообменник или покупатель крипты просто мог исчезнуть. Согласитесь, некрасивая перспектива.

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

Это в 2022 году, крипту можно купить по карте на бирже с крутой репутацией или на Р2Р-площадках, а тогда все было по-другому. И безопасного обмена практически не существовало.

Исходя из потребности, появилась идея изобрести уникальный крипто-обменник:

  • Абсолютно надежный;

  • Децентрализованный;

  • Без депозитов и манипуляций;

  • С гарантией безопасного обмена.


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

Перевод традиционных денег происходит с помощью платежной системы такие как Яндекс Деньги, PayPal, AdvCash и др. 

В сердце этой архитектуры живет смарт-контракт на базе технологии blockchain, он и есть гарант обмена. Смарт-контракт – вот что давало уникальность для этого обменника.

Схема архитектуры ⚙️
Схема архитектуры ⚙️

Собсна солюшн

Итак, по всем законам жанра, все благополучно пошло через одно место. 

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

Понять туториал было пол беды и кроме клацанья по клавишам в надежде написать хоть кусочек осознанного кода на Solidity нужно было разобраться в EVM, транзакциях, эфире, газе, как работает Remix IDE, компиляция и деплой смарт-контракта.

Запуск самого прототипа занял всего пару недель активной разработки и больше 2 месяцев непрерывных проб и ошибок! 

Хочется отметить что, до этого опыта разработки dApp у меня не было. Я занимался фронтом и разработкой веб-приложений.

И вообще это требует отдельной статьи: мой путь в блокчейне с нуля, разработка на Solidity, поиск адвайзера, будучи просто прогером. 

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

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

Да, у меня начала собираться команда. Мы делали все сами!

В результате мы смогли презентовать этот продукт мировому сообществу на выставках в Индии, Минске и конференциях в Азии, например Niubility World Blockchain Conference и проект собрал суммарно более $1.000.000 инвестиций.

Прототип представлял из себя смарт-контракт, он был написан на Solidity в сети блокчейна Ethereum, его можно было разблокировать, получая ответ по API от платежной системы, например, Яндекс.Деньги.

Ссылка на смарт-контакт.

Дальше, что-то на техническом!

После этого мы сделали MVP, который уже включал в себя обмен ETH (или токенов ERC20). 

Интегрировали Escrow Smart Contract с API-платежной системы Яндекс.Деньги (нынче ЮMoney).

Методы смарт-контракта:

  • создать сделку

  • подтвердить сделку

  • выпустить сделку

  • отменить сделку через некоторое время 

Фактически уже был механизм обмена. Все работало идеально: в смарт-контракте можно было заблокировать криптовалюту (ERC20), сделать перевод на кошелек Яндекс.Деньги, и после подтверждения перевода смарт-контракт автоматически разблокировал криптовалюту и она улетала на кошелек покупателя.

Видео объясняющее механизм обмена:

Вдобавок запилили посадочную страницу, сделали это на Angular, TypeScript, Node.js, SCSS. 

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

Лендосик:


Если брать команду в деталях с кем разрабатывали MVP и лендос, то она выглядела примерно так:

  • 2 Frontend разработчика

  • Backend разработчик

Как вы думаете сейчас P2P-обменник на смарт-контракте был бы актуален?

Комментарии (8)


  1. Saturnych
    17.11.2022 03:35
    +3

    Конечно, актуален.

    Рассказ какой-то куцый :(


  1. E1ektr0
    17.11.2022 04:37

    Увидел 2 проблемы с контактом.

    0) подпись не включает адрес контакта и Чейн id. Так что если найду на тест нете ваши тесты, смогу атаковать контакт. А так же если он есть на сайдчейнах. Etc.

    1) при трансфере erc20 не используется safe transfer.

    Мб больше проблем, глянул с телефона.


  1. Chuvi
    17.11.2022 09:12

    Имя автора в шапке поста, как я понимаю, для обхода анонимности авторов в песочнице?


  1. kisskin
    17.11.2022 11:03

    Полезная разработка, чем закончилось?


    1. fedorro
      17.11.2022 19:48
      +4

      Контракт дырявый, 4 года не обновлялся, на обменник сертификат от L'sE, просрочен ещё июнем (руками обновляют?), на самом обменнике чет только токены свапаются, фиат не обнаружен. Вывод - то-ли ничем не закончилось, то-ли нам что-то не договаривают ????


    1. hrolenkov
      18.11.2022 04:55

      Это тайна видимо)) покрытая мраком.


  1. at5Fd8NVdfpf
    18.11.2022 04:58

    Чем не устроил вариант взять BISQ и добааить туда поддержку юмани или например киви ?


    1. kisskin
      18.11.2022 10:50

      без поддержки банковских карт - вариант не очень, юмани и киви блокируют аккаунты влегкую...