Как я психанул и написал свой крипто-процессинг на Node.js без KYC и посредников. Личный опыт разработки велосипеда
Всем привет! Хочу поделиться историей о том, как обычное нежелание светить паспорт перед очередным сомнительным сервисом заставило меня провести пару вечеров за написанием собственного кода.
Все началось стандартно: я пилил небольшой пет-проект (цифровой товар с автоматической выдачей после оплаты). Решил прикрутить прием BTC. Пошел курить мануалы популярных готовых криптошлюзов, и у меня пригорело. Везде одна и та же картина: жесткий KYC (скинь паспорт, прописку, чуть ли не селфи с развернутой газетой), модерация заявки неделями, а если проект хоть немного «серый» или связан с приватностью — моментально шлют лесом. Ну и вишенка на торте — конские комиссии мерчантов с каждой транзакции.
Я подумал: «Какого черта? Крипта же создавалась для прямой передачи ценности». Психанул и решил написать свой автономный костыль, которому вообще плевать на посредников.
Как я это реализовал (и где сознательно пошел на компромиссы):
Генерация адресов через ZPUB. Чтобы не светить приватные ключи на сервере, я вытащил из холодного кошелька открытый ключ ZPUB. Логика простая: бэкенд на Node.js на каждый новый заказ генерирует уникальный чистый адрес. Все входящие средства падают в один мой кошелек, а приватник в безопасности дома.
Да, я знаю, что если сервер взломают, то украв ZPUB, злоумышленник сможет узнать историю моих балансов. Но для мелкого инди-проекта, где приватный ключ защищен, это вполне оправданный риск.
Проверка сети через публичный API. Поднимать и содержать собственную тяжелую биткоин-ноду ради проекта с парой продаж в день — это экономический абсурд. Поэтому я настроил чекинг транзакций напрямую в блокчейне через открытый API Mempool. Это бесплатно и быстро.
Никаких проверок документов, никаких посредников и 0% лишних комиссий сторонним дядям.
Результатом я остался доволен: система работает автономно, кушать не просит, деньги капают напрямую на кошелек. Заморочился и записал пошаговый технический гайд с разбором кода, логики и всех подводных камней, с которыми столкнулся в процессе.
Кому интересно поковырять архитектуру или повторить у себя, видеоразбор выложил тут:
Буду рад конструктивной критике от практикующих бэкендеров. Как бы вы решили проблему отслеживания транзакций без поднятия своей ноды?



