// Криптовалюта
// Криптовалюта
BlueWallet — это мобильный кошелек, предназначенный исключительно для хранения и управления биткоинами. Он создан на базе открытого исходного кода, имеет интуитивно понятный интерфейс и множество интересных функций. Главная из них — это поддержка Lightning-транзакций. В этой статье мы расскажем, как создать свой кошелек для криптовалюты наподобие BlueWallet и сколько ориентировочно стоит запуск подобного блокчейн-стартапа.
Проект BlueWallet был основан в 2017 году Игорем Корсаковым, Нуно Коэльо и Маркосом Родригесом. Они первыми создали кошелек для хранения и управления биткоинами, который поддерживал SegWit и предоставлял пользователям контроль над комиссиями. Так, в отличие от большинства кошельков того времени, BlueWallet позволял вручную устанавливать размер комиссии для ускорения подтверждения транзакции, а также изменять комиссию за транзакцию после ее инициализации и до подтверждения (так можно избежать проблемы, когда транзакция «застревала» из-за резкого повышения объема сделок и, следовательно, повышения комиссий).
Чтобы разработать свой кошелек наподобие BlueWallet, вам также нужно реализовать эти функции, а также весь остальной базовый функционал подобных приложений. Обычно этот функционал разделен на два направления, в зависимости от того, на какого пользователя они ориентированы: админа или инвестора.
Пользовательская панель инвестора обычно включает такие функции:
Multiple Wallets. В кошельке BlueWallet у пользователей есть возможность использовать сразу несколько учетных записей и быстро переключаться между ними. Очень удобная функция, если вам нужно разграничить адреса для трейдинга и холодного хранения. Или если вам нужна отдельная запись с мультиподписью.
Мультиподписи. Данная опция позволят обезопасить свои средства путем разделения управления активами между несколькими пользователями. Например, вы можете разделить управление между 10 пользователями и добавить условие, что для проведения транзакции нужно согласие 8 подписей. Данную опцию рекомендуют использовать для холодного хранения BTC и управления бизнес-адресами.
Только просмотр. Это специальный вид учетной записи, который позволяет следить за своим холодным хранилищем или бумажным кошельком, не касаясь своего закрытого ключа. Таких записей можно создать сколько угодно, что очень удобно, если вы не уверены в защите своего телефона или компьютера.
Lightning-кошельки. Еще один вид учетной записи, которую вам нужно будет реализовать в случае разработки такого криптовалютного кошелька, как BlueWallet. С ее помощью можно осуществлять очень быстрые и дешевые платежи в Lightning Network. Также через эту запись можно будет подключиться к своему Lightning-узлу.
Управление комиссиями. По умолчанию BlueWallet рассчитывает минимальный размер комиссии для подтверждения транзакции в течение одного, трех или десяти дней. Но пользователь может увеличивать комиссию для отправителя с помощью опции Child-Pays-For-Parent (CPFP) или «ускорять» уже отправленные, но неподтвержденные транзакции посредством опции Replace-By-Fee (RBF).
Правдоподобное отрицание. Еще одна функция безопасности, которую обязательно нужно будет реализовать в вашем клоне BlueWallet. С ее помощью пользователь может указать специальный пароль, который будет открывать не его основной кошелек, а фальшивый с заранее заданными значениями баланса.
Пакетные биткоин-транзакции. Полезная функция, позволяющая сэкономить на комиссионных путем объединения нескольких платежей в одну транзакцию. Обычно такие практики используют биржи и прочие крупные сервисы. В BlueWallet эта опция реализована просто и удобно: при создании транзакции пользователь указывает адреса получателей и сумму, которую он желает отправить по каждому адресу.
Поддержка нескольких языков. Сегодня кошелек BlueWallet поддерживает более 30 языков, включая английский, шведский, китайский, японский, испанский, португальский, русский, украинский, немецкий, французский, турецкий и другие. При разработке своей платформы для криптовалют вам также нужно добавить поддержку множества языков, чтобы увеличить охват потенциальной аудитории.
Восстановить кошельки. «Волшебная форма», с помощью которой можно попробовать импортировать в BlueWallet учетные данные с других криптовалютных кошельков. Система не идеальна, но в большинстве случаев BlueWallet понимает форму текущего кошелька пользователя и считывает с него настройки и данные.
Ground Control. Это служба уведомлений для биткоин-кошельков, которая позволяет получать push-уведомления сразу и на мобильные телефоны, и на настольные компьютеры или запустить свой сервер push-уведомлений.
Многие другое. Вот что еще стоит добавить в клон-скрипт BlueWallet:
Процесс кастомной разработки обычно состоит из семи этапов:
Прежде чем ваша команда разработчиков приступит к разработке дизайна и написанию кода будущего продукта, вам необходимо определиться с бизнес-частью, целевой аудиторией и рисками. То есть начинать разработку приложения наподобие BlueWallet нужно с анализа рынка. Это позволит заранее оценить перспективы ниши, выявить потребности потенциальных клиентов, узнать плюсы и минусы конкурентов. На основе полученной информации бизнес-аналитики составят список функций и требований к проекту, что поможет более точно определить объем работы, состав команды разработчиков и выбрать наиболее подходящий стек технологий.
На основе информации, полученной на первом этапе, создается архитектура будущего продукта. Это блок-схема, где отображены компоненты системы и то, как они будут взаимодействовать друг с другом. На основе такой архитектуры команда разработчиков сможет приступить к реализации поставленных перед ними задач.
Пример информационной архитектуры криптовалютного мобильного кошелька. Источник.
Чтобы создать криптовалютный кошелек, который на самом деле понравится пользователям, недостаточно придумать и реализовать интересные и полезные функции. Для этого также нужно собрать эти функции в единый, простой и удобный интерфейс. Именно здесь на помощь приходят дизайнеры UX/UI. Они изучают цели, задачи, потребности и поведенческие паттерны пользователей, чтобы на базе этих данных создать варфреймы низкой точности, и затем улучшают их до готового прототипа.
Вот как могут выглядеть варфреймы низкой точности:
После бизнес-анализа построения информационной архитектуры и создания дизайна команда программистов приступает к технической реализации вашего скрипт-клона BlueWallet. Для этого front-end- и back-end-разработчикам необходимо выбрать подходящий для вашего кошелька технологический стек, уделив основное внимание языкам программирования, фреймворкам, библиотекам, базам данным, технологиям блокчейна, а также ключевым внешним интеграциям.
Вот пример технологического стека для front-end мобильного кошелька:
Вот пример технологического стека back-end мобильного кошелька:
Тестированием программных продуктов занимаются QA-специалисты, и лучше всего их привлекать с самого начала, чтобы не накапливать ошибки. При запуске мобильного кошелька нужно провести тесты на наличие ошибок, функциональность, нагрузку, соответствие спецификациям и т. д. Если ваш кошелек будет использовать смарт-контракты, то их также нужно тщательно проверить, причем желательно, чтобы это сделали независимые аудиторы, например, Techrate и Certik.
Когда разработанное программное обеспечение создано и тщательно протестировано, необходимо произвести его развертывание на ваши локальные серверы или в облако (AWS, Azure, Google) и затем еще раз все перепроверить. Если все нормально, дальше ваше мобильное приложение нужно добавить в сторы мобильных приложений (App Store, Google Play, Microsoft Store и Amazon App Store). На это могут понадобиться сравнительно небольшая сумма денег (Google Play — 25 долларов, App Store — 99 долларов в год или 299 в год для внутрикорпоративных приложений) и некоторое время, которое уйдет на составление маркетинговых и технических данных и проверку приложения платформой.
Последний этап разработки такого кошелька, как BlueWallet, — это обучение персонала, предоставление технической поддержки и устранение неполадок, мониторинг и обслуживание систем и приложений. Обучение персонала обычно начинают за несколько недель или месяцев до релиза, в зависимости от сложности продукта, и делают это либо сотрудники компании-разработчика, либо специально нанятые специалисты (характерно для довольно больших и сложных проектов).
Предоставление технической поддержки и устранение выявленных неполадок в первые месяцы после релиза обычно входит в стоимость проекта (по крайней мере, так делают большинство ответственных разработчиков, Merehead в том числе). За это время разработчики обычно успевают выявить все более-менее крупные баги и выкатить первые обновления, улучшающие производительность и юзабилити (если это нужно). После этого технической поддержкой занимаются команда из числа сотрудников заказчика или специальная фирма на аутсорсинге.