Криптовалютные кошельки бывают двух типов: кастодиальные и некастодиальные. Кастодиальный — сервис или приложение, в котором за хранение ключей и резервное копирование отвечает разработчик. Виды кастодиальных кошельков:
Некастодиальный — приложение или устройство, которое хранит приватные ключи. При регистрации в таком кошельке пользователь указывает мнемоническую фразу. С её помощью можно вернуть доступ к криптовалюте, если утеряны ключи. Виды некастодиальных кошельков:
Приложение устанавливается на смартфон/планшет через Apple App Store или Google Play. Поскольку мало какой популярный блокчейн поместится в памяти мобильного устройства, такие кошельки делаются тонкими, чтобы не скачивать весь блокчейн. После регистрации или авторизации пользователь сможет отправлять и получать криптовалюту от других людей, а чтобы транзакции проходили через сеть, кошелёк будет синхронизироваться с блокчейном частично.
В действительности монеты не перемещаются по сети или блокчейну. Изначально они появляются, когда майнер сгенерировал блок и добавил его к цепи, там же и остаются навсегда. Операции по «отправке» и «получению» — на самом деле транзакции информации, а не монет. Один участник сети передаёт другому права на определённые монеты (или дробные части), подтверждая это приватным ключом. При синхронизации все участники сети получают информацию о передаче прав на те монеты от одного адреса к другому.
У каждого мобильного криптокошелька есть два типа ключей:
Заказчик изначально должен понимать, каким видит мобильный криптокошелёк для своего проекта. Это надо оформить как техническое задание (ТЗ). При отсутствии готового ТЗ мы с клиентом заполняем бриф, а затем всё равно составляем ТЗ. Только после этого приступаем к разработке.
Цикл разработки мобильного криптовалютного кошелька состоит из 7 этапов. Опишем вкратце каждый этап.
Проект-менеджер изучает бриф и пожелания заказчика, обсуждает, кого из команды привлечь к новому проекту, рассчитывает сроки и стоимость разработки. Итог его работы — расписанная по целям и шагам концепция проекта.
Тим-лид определяет технические требования к мобильному приложению. Он составляет спецификации приложения, детальнее расписывает план разработки и задачи программистам. Аналитику может также проводить проект-менеджер или архитектор ПО.
При отсутствии у заказчика эскизов или прототипа пользовательского интерфейса, UI/UX-дизайнер проектирует его с нуля. Сначала создаётся вайрфрейм с основными деталями будущего приложения, затем прототипы. Конечный дизайн разрабатывается после утверждения интерфейса и необходимых функций заказчиком.
Разработчики приступают к написанию программного кода с учётом ТЗ, брифа и имеющихся прототипов. При разработке для iOS они используют языки Swift или Objective-C. А при разработке для Android — C++, C#, Java, Kotlin или Python.
После готовности кода и работоспособности приложения UI/UX-дизайнер проверяет его интерфейс. Итог этапа — альфа-версия криптокошелька, готовая к тестированию.
Когда разработчики сдадут альфа-версию, тестировщики и QA-инженеры начнут тестировать криптокошелёк. У нас тестирование проходит с учётом всех вариантов использования приложения. Если обнаружим баги или недоработки, то сразу исправим их. Релиз бета-версии состоится только после того, как все участники команды убедятся в качестве выпускаемого приложения.
После того как команда завершила тестирование и исправила возможные недостатки, проект-менеджер публикует мобильный криптокошелёк в Apple App Store и/или Google Play. Либо заказчик сам размещает приложение на платформах цифровой дистрибуции.
После релиза опытные пользователи могут столкнуться с багами, не обнаруженными в ходе тестирования. Их должны устранять разработчики. В первые 2-3 месяца пользователи также будут просить улучшить какие-то функции или внедрить новые. Эту обратную связь надо принимать во внимание и заниматься дальнейшим развитием мобильного криптокошелька.
У большинства мобильных криптокошельков функции почти такие же, как у приложений мобильного банкинга или платёжных систем (PayPal, Stripe). Они позволяют проводить транзакции через QR-коды, переводить криптовалюту другим пользователям, оплачивать покупки. Основные функции следующие:
В некастодиальных мобильных кошельках для криптобирж нужны дополнительные, по-своему важные, функции. Они могут быть больше связаны с рыночными ценами, конвертацией и обменом одной криптовалюты на другие. В качестве примера вот такой криптовалютный кошелек мы разработали для платформы Polyx. Версию для Android выпустили в октябре 2021, а для iOS — в феврале 2022.