Дмитрий Мартьянов
Основатель 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)
E1ektr0
17.11.2022 04:37Увидел 2 проблемы с контактом.
0) подпись не включает адрес контакта и Чейн id. Так что если найду на тест нете ваши тесты, смогу атаковать контакт. А так же если он есть на сайдчейнах. Etc.
1) при трансфере erc20 не используется safe transfer.
Мб больше проблем, глянул с телефона.
Chuvi
17.11.2022 09:12Имя автора в шапке поста, как я понимаю, для обхода анонимности авторов в песочнице?
kisskin
17.11.2022 11:03Полезная разработка, чем закончилось?
fedorro
17.11.2022 19:48+4Контракт дырявый, 4 года не обновлялся, на обменник сертификат от L'sE, просрочен ещё июнем (руками обновляют?), на самом обменнике чет только токены свапаются, фиат не обнаружен. Вывод - то-ли ничем не закончилось, то-ли нам что-то не договаривают ????
at5Fd8NVdfpf
18.11.2022 04:58Чем не устроил вариант взять BISQ и добааить туда поддержку юмани или например киви ?
kisskin
18.11.2022 10:50без поддержки банковских карт - вариант не очень, юмани и киви блокируют аккаунты влегкую...
Saturnych
Конечно, актуален.
Рассказ какой-то куцый :(