Как мы сократили путь разработки web3-продукта

Сегодня мы ненадолго прогуляемся в мир криптовалют и блокчейн-технологий. Вы, наверное, подумали, что дальше пойдет скучный, сложный текст, наполненный заумными фразами, типа: web3, криптокошельки, сид-фраза, «толстый клиент», эфир (ETH). И... да, немного этого будет, но простым и интересным языком 😁 Так что, пора освободить Ваш разум от предрассудков и страхов перед криптой. Сегодня вы узнаете много полезного. Поехали!

Как мы сократили путь разработки web3-продукта

«Храните» биткоины в криптокошельках

Все началось с запроса — заказчику нужно было разработать кроссплатформенный некастодиальный криптокошелек (активы полностью под контролем владельца). Задача включала создание как мобильного приложения, так и веб-версию кошелька.

Криптокошелек — по сути, то же банковское приложение банка на телефоне. Только вместо рублей и евро, там крипта, но не физическая, а зашифрованная. Чем-то напоминает принцип работы банковской карточки, только деньги не снять в банкомате (*trollface*)

Мы сразу поняли, что впереди нас ждет не просто создание проекта, а челлендж для нашей творческой и технической мысли. Чтобы сэкономить время и упростить процесс разработки, решили применить небольшую хитрость при работе с блокчейном.

Для тех, кто не в теме, поясню. Блокчейн (технология распределенного реестра (DLT)) - это как книга учета операций, которая постоянно проверяется и обновляется. Но хранится она не у одного человека и не в одном месте, а распределена между всеми участниками сети. В нашем случае, каждый блок в цепочке содержит информацию о транзакциях, хеши предыдущих блоков и временные метки. После того как запись добавляется в реестр, никто уже не может ничего изменить. Это делает блокчейн прозрачным и безопасным для хранения информации о финансовых транзакциях для крипты и других важных данных. Управление цифровой идентификацией, цепочками поставок, правами на интеллектуальную собственность (авторские права, патенты, торговые марки) — все это можно делать, используя технологию блокчейн. Мед, да?😁 И никакие посредники, в роли банков, не нужны.

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

Главное — рациональный подход или что мы сделали с архитектурой

Та самая хитрость, о которой я упоминал вначале — все взаимодействие с блокчейном мы вынесли в отдельный JavaScript-пакет (JS-пакет), который юзало и мобильное приложение и веб-версия. Переиспользовали, короче, чтобы избежать двойной работы по тестированию и разработке.

Какие плюшки нам это дало?

  • Единую логику. Однажды разработанная логика взаимодействия с блокчейном переиспользуется как в мобильной, так и в веб-версии кошелька. Можно плотно сосредоточиться на общем коде, а не прыгать между платформами.
  • Сокращение времени разработки. Использование общего кода позволило ускорить процесс создания приложения. Время разработки сократилось в 1,5 раза, что, согласитесь, весьма неплохо.
  • Быстрые тесты.
  • Уменьшение рисков. Единая архитектура снижает вероятность возникновения багов, ошибок и проблем взаимодействия между разными частями приложения.

Что по итогу?

Оптимизация архитектуры для работы с Web3 позволила нам существенно ускорить процесс разработки и повысить эффективность взаимодействия с блокчейном. Благодаря использованию общего JavaScript-пакета, наша команда смогла по максимуму снизить риски, выиграть время и сконцентрироваться на задаче.

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

Заказчик остался доволен, а мы получили интересный опыт в копилку. И, думаю, не последний.

Пару слов о перспективах, напоследок

С каждым годом интерес к цифровым активам растет. На этом новом поле нет душных финансовых институтов и диктатуры банков — только свобода действий и ваши правила игры. Если вы давно «гоняете» биткоины, эфир (Ethereum) и прочие крипты, без кошелька не обойтись.

Единственное, надо позаботиться о безопасности:

  • Создавать надежный пароль для мобильного кошелька и хранить его в безопасном месте. Не в заметках.
  • Использовать двухфакторную аутентификацию (2FA).
  • Стараться не терять и делать резервное копирование сид-фразы (Secret Recovery Phrase, SRP) — сгенерированный случайным образом набор из 12/18 или 24 идущих подряд слов, для восстановления доступа к криптокошельку на любом устройстве. Всякое может случиться. Только восстановить SRP, как утерянный паспорт, не получится.
  • Не переходить по незнакомым ссылкам и не скачивать непроверенное ПО.


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

33
Начать дискуссию