Разработка Web3 решений

Разработка Web3-решений, которым доверяют деньги пользователи: смарт-контракты, кошельки, торговые и стейкинг-платформы, децентрализованные приложения.

Начнём с того, что именно мы делаем. Смарт-контракты под задачу: выпуск и обращение токенов, распределение наград, эскроу, голосования, платный доступ. Кошельки, кастодиальные и некастодиальные, с мультиподписью, подписью транзакций и восстановлением доступа. Торговые площадки: стакан заявок, свопы, стейкинг, начисления. Децентрализованные приложения целиком, от контракта до интерфейса. И обычные продукты, где блокчейн отвечает за одну конкретную вещь, например за неизменяемую фиксацию документа, а всё остальное работает как привычный сервис.

Сеть выбираем расчётом, а не по привычке. Продукты, которые мы вели, жили в Ethereum, Binance Smart Chain и других EVM-совместимых сетях, и разница между ними для конечного пользователя измеряется комиссией за операцию и временем её подтверждения. Поэтому сеть, модель хранения данных и то, что вообще имеет смысл выносить в контракт, а что оставить на сервере, обсуждаются на этапе архитектуры и считаются в деньгах.

Работаем и с нуля, и с чужим кодом, и второе умеем не хуже первого. В экосистеме Ubix.Network продукты делали в разное время разные команды: своя архитектура у каждого, свой дизайн, документация где-то есть, где-то нет. Мы привели это к единому виду. Кошелёк, биржа, платформа стейкинга и обозреватель сети получили общую архитектуру, общие компоненты интерфейса и общий порядок обновления, а часть технических решений мы принесли туда готовыми из прежних проектов. Так что разбор чужого кода и сведение разнородных сервисов в одну работающую систему для нас обычная задача.

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

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

01

Что входит в услугу

Можно взять любой набор из перечисленного.

Смарт-контракты

Проектируем и пишем контракты под задачу, покрываем тестами и готовим к внешнему аудиту.

Кошельки и хранение

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

DeFi и биржи

Стаканы, свопы, стейкинг, распределение наград - от подбора заявок до интерфейса трейдера.

Интеграции с сетями

Подключение к EVM-сетям и не только: ноды, индексаторы, вебхуки, наблюдение за транзакциями.

Безопасность

Модель угроз, ревью кода, ограничение прав, подготовка к аудиту и разбор инцидентов.

Интерфейсы dApp

Дизайн и фронтенд децентрализованных приложений: понятные состояния транзакций и ошибок.

02

Как мы работаем

01
Разбор задачи

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

3-5 дней
02
Архитектура и оценка

Выбираем сеть, стек и модель хранения данных, описываем компоненты и даём оценку по этапам.

1-2 недели
03
Разработка

Двухнедельные итерации с демонстрацией: контракты, бэкенд, интерфейс. Каждую итерацию можно посмотреть вживую.

от 6 недель
04
Тесты и аудит

Модульные и интеграционные тесты, тестовая сеть, подготовка к внешнему аудиту и правки по его результатам.

2-3 недели
05
Запуск и поддержка

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

постоянно
03

Стек и инструменты

SolidityHardhatFoundryTypeScriptNode.jsReactethers.jsWeb3.jsIPFSPostgreSQLDockerKubernetes
04

Кейсы по услуге

05

Частые вопросы

В основном с EVM-совместимыми сетями, а также с решениями второго уровня. Если проект требует другой сети, оцениваем отдельно на этапе архитектуры.

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

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

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

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

06

Смежные услуги

Обсудим вашу задачу?

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