Все, что необходимо знать о создании криптовалютных кошельков

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

Содержание

#1. Виды криптовалютных кошельков
#2. Десктопные
#3. Онлайн-сервисы
#4. Мобильные
#5. Аппаратные
#6. Бумажные
#7. 7 этапов разработки криптовалютных кошельков
#8. 1: Оценка и планирование
#9. 2: Бизнес-аналитика
#10. 3: Дизайн приложения
#11. 4: Начало кодинга
#12. 5: Тестирование и багфиксинг
#13. 6: Релиз
#14. 7: Техподдержка и развитие
#15. Стоимость разработки криптовалютных кошельков
#16. Важные моменты

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

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

Виды криптовалютных кошельков

Десктопные

Это программные решения, которые нужно устанавливать на персональный компьютер, ноутбук или планшет. Они бывают двух видов:

1.    Полные, или толстые — требуют загрузки всего блокчейна криптовалюты, который может достигать нескольких сотен гигабайт. На ноябрь 2018 года блокчейн биткойна занимает 220 GB, эфириума — 670 GB.

2.    Тонкие, или легкие — нужно установить дистрибутив, который отвечает за аутентификацию, обмен и учет транзакций. Для их установки нужно от 20 до 100 MB свободного пространства.

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

Интерфейс Bitcoin Core

Примеры:

     Exodus. Поддерживает семь криптовалют и имеет встроенную систему ShareShift, которая ищет лучший курс для обмена монет.

     Bitcoin Core. Один из самых популярных полных кошельков для биткоина с открытым кодом. Поддерживает платформы: macOS, Windows, UNIX.

     Armory. Надстройка для кошелька Bitcoin Core, которая повышает уровень безопасности приложения.

Онлайн-сервисы

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

Интерфейс HolyTransaction

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

Примеры:

     Blockchain.com. Простой и очень популярный кошелек для 30 монет с поддержкой большинства языков. Регистрация занимает до 5 минут.

     HolyTransaction. Имеет понятный интерфейс, поддерживает 10 монет и средние размеры комиссии в сравнении с другими сервисами.

     Coinbase. Создан в 2012 году. Поддерживает самые популярные монеты и имеет несколько дополнительных решений для бизнеса и трейдеров.

Мобильные

Это программы, предназначенные для установки на смартфоны и планшеты. Они интересны тем, кто использует крипту для частых небольших транзакций или оплаты товаров и услуг в интернет-магазинах. Такие кошельки считаются «транзитными», поскольку они не имеют постоянной синхронизации с блокчейном и их относительно легко взломать.

Интерфейс Coinomi

Примеры:

     Coinomi. Пожалуй, лучший кошелек для устройств на базе Android, который работает с более чем 50 валютами. Его основное преимущество: возможность использовать seed-фразы, с помощью которых можно восстановить данные после сбоя или взлома.

     Xapo. Приложение от калифорнийских разработчиков, в котором реализована возможность выпуска дебетовой карты и страховка денег. Нужна привязка к номеру мобильного телефона.

     Mycelium Wallet. Приложение с открытым исходным кодом, QR-сканером, возможностью создания резервной копии и доступом до торговых площадок.

Аппаратные

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

Аппаратные решения KeepKey похожи на mp3-плееры

Зато они очень популярны среди инвесторов, которые предпочитают долгосрочные инвестиции. Это связано с тем, что такие гаджеты невозможно взломать «извне», поскольку они не подключены к интернету и имеют встроенную защиту от несанкционированного доступа. Благодаря чему у них лучшие показатели безопасности.

Примеры:

     KeepKey. Выпускается с 2015 года, поддерживает Bitcoin, Ethereum, Dogecoin и Litecoin. Стоимость — в районе 100 долларов.

     Ledger Nano S. Выпускается с 2016 года, поддерживает 40 основных монет. Стоимость —  до 100 долларов.

     Trezor. Первый аппаратный кошелек, выпускается с 2013 года, поддерживает около 500 монет. Стоимость — 100 долларов.

Бумажные

Представляют из себя бумагу с распечатанным общедоступным адресом и закрытым ключом. Информация может быть представлена «как есть», в виде QR-кодов или зашифрованной. Отличный вариант долгосрочного хранения виртуальных денег для тех, кто не доверяет цифровым устройствам.

Бумажный криптовалютный кошелек, созданный с помощью bitaddress.org

Бумажные кошельки следует хранить в месте, где они будут скрыты от посторонних глаз, видеокамер, и при этом им не будет угрожать пожар, промокание, повышенная влажность и насекомые. Потеря бумажного ключа или его уничтожение — это потеря денег без возможности их возврата.

Примеры:

     Bitaddress.org. Самый популярный интернет-сервис для создания бумажных ключей с шифрованием информации посредством QR-кодов.

     WalletGenerator.net. Удобный сервис, который выгружает дистрибутив для создания бумажного кошелька на устройство пользователя, чтобы никто в сети не имел возможности что-то «подсмотреть».

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

7 этапов разработки криптовалютных кошельков

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

Пример функций:

  1. Форма входа.
  2. Личный профиль.
  3. Коэффициент конверсии.
  4. Сканер QR-кода.
  5. Торговые услуги.
  6. Всплывающие уведомления.
  7. Защита паролем и PIN-кодом.
  8. Прочее.

Если ТЗ не написано, разработчики просят клиента (начальника) заполнить бриф — перечень вопросов, ответы на которые помогут расставить приоритеты проекта, его задачи и цели. Кроме того, с помощью брифа можно выбрать оптимальную модель разработки:

  • agile — разработка идет итерациями (поэтапно)
  • waterfall — приложение разрабатывается целиком.

На выходе после заполнения брифа получаем:

  • методологию разработки;
  • описание, целей, задач и базового функционала кошелька;
  • целевую платформу: macOS, Android, Windows, UNIX или кросс-платформа.

1: Оценка и планирование

Вначале любой разработки всегда задается вопрос: «Какова стоимость?». И практически сразу же после него идет следующий: «Сколько времени займет разработка?». Чтобы получить ответы на эти вопросы, нужно провести оценку проекта и составить примерный план работ. Здесь обычно подключается проект-менеджер, который может быть как со стороны заказчиков, так и со стороны исполнителей. Его обязанности — координация работы команды и общение с заказчиком.

При оценке проекта изучается ТЗ, бриф и пожелания заказчика. Рассчитывается время, необходимое на разработку приложения и его тестирование. Выявляются узкие места в техническом задании и не учтенные ранее сценарии использования продукта.

Экспресс-оценка делается в течение дня. Она дает ориентировочное представление о количестве необходимых трудочасов, которые нужны для создания готового продукта. Детальная оценка проводится в течение двух–семи дней. Благодаря ей можно получить точное представление о том, когда заказчик получит готовый к использованию кошелек и каким он будет в итоге.

На выходе получаем:

  • scope проекта;
  • бюджет разработки.

2: Бизнес-аналитика

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

Бизнес-аналитика не всегда проводится разработчиком. Бывает, заказчики выполняют ее самостоятельно или приходят со списком готовых требований. В этом случае за качество аналитики отвечает заказчик (или тот, кто ее провел).

На выходе бизнес-аналитики получаем:

  •  спецификацию функциональных и нефункциональных требований;
  •  базис и спецификацию интерфейса пользователя;
  • детально описанный бюджет разработки;
  •   проработанный план разработки.

3: Дизайн приложения

Если у заказчика нет готового дизайна интерфейса пользователя (UI/UX), команда разработчиков создает его с нуля. Сначала создается основа UI/UX и wireframes, которые передаются заказчику, после его одобрения создается визуальный дизайн с учетом всех пользовательских сценариев: прототип, элементы графики, карта и схема переключения экранов, прочее.

Пример wireframe

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

На выходе получаем:

  • предварительный дизайн интерфейса;
  • карту и схему переключения экранов;
  • спецификацию UX/UI.

4: Начало кодинга

После того, как составлено техническое задание, проведена оценка проекта и составлен дизайн с прототипом, программисты приступают к написанию кода. Прописанное в ТХ и планах реализуется в бинарном коде, соединяется логика приложения с серверной частью и блокчейнами криптовалют. Наброски дизайна также воплощаются в коде — прописываются элементы UI и стили интерфейса.

Для ускорения и удешевления разработки могут использоваться open-source libraries: Chain-java, Bitcoinj, Blockchain, Coinbase и другие. Это наборы готовых программных решений, которые можно использовать подобно элементам конструктора Lego.

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

На выходе данного этапа получаем:

  •  готовую к тестированию версию продукта (MVP, альфа-версия);
  •  корректировки дизайна.

5: Тестирование и багфиксинг

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

Так выглядит тестирование продукта

Этапов тестирования может быть несколько:

  1. Тестирование MVP.
  2. Тестирование альфа-версии.
  3. Тестирование бета-версии.
  4. Предрелизное (приемочное) тестирование.

На последних этапах проверяется не только код приложения и соответствие задуманному дизайну, но и юзабилити — насколько удобно пользоваться кошельком, понятен ли интерфейс на интуитивном уровне.

На выходе получаем:

  • минимальное количество багов или их отсутствие;
  • простой, интуитивно понятный интерфейс;
  • проедрелизный продукт.

6: Релиз

После завершения тестирования и доработок, аналитики, тестеры, дизайнеры, маркетологи разработчики и заказчик должны дать дают добро на завершение проекта и его релиз. Если все нормально, его добавляют на GeekHub и цифровые маркетплейсы Google Play и App Store.

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

На выходе получаем:

  • готовый криптовалютный кошелек, размещенный в GeekHub и маркетплейсах.

7: Техподдержка и развитие

История разработки криптовалютного кошелька не заканчивается на релизе. Если заказчик и/или пользователи обнаружили баги, они должны быть устранены. Кроме того, первые несколько месяцев показывают, что еще нужно «допилить» или переделать, чтобы кошелек стал удобнее и функциональнее.

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

На выходе получаем:

  • договор сопровождения, который может включать 1 год развития проекта (внесение относительно небольших улучшений) и гарантию на устранение багов.

Стоимость разработки криптовалютных кошельков

Стоимость зависит от того, сколько разработчики потратили времени на его создание. Например, специалисты оценивают время разработки Android-версии кошелька Coinbase примерно в 700 часов:

  • Exchange — самая сложная часть — 200 часов;
  • Send/Request coins — 120 часов;
  • Profile — 100 часов;
  • Notifications — 100 часов;
  • Dashboard — 40 часов;
  • Sign In/Up — 40 часов.

Еще около 100 часов нужно для различных мелких деталей. Кошельки вроде Blockchain и BitcoinJ требуют меньших трудозатрат — от 550 часов. Разработка подобных приложений для iOS потребует других трудозатрат: Coinbase — 600, Blockchain — 500, BitcoinJ — 450+ часов.

Если взять за основу ставку 50 долларов в час, выйдет следующая структура затрат для разработки обозначенных криптовалютных кошельков:

 

BitcoinJ

Coinbase

Blockchain

Backend

$ 10 000

$ 10 000

$ 10 000

Development

 

 

 

Design

$ 7 500

$ 7 500

$ 7 500

Web/desktop

$ 5 000

$ 5 000

$ 5 000

iOS

$ 22 500

$ 30 000

$ 25 000

Android

$ 27 500

$ 35 000

$ 27 500

QA/PM

$ 4 000

$ 4 000

$ 4 000

Total

$ 76 500

$ 91 500

$ 79 000

 

Ставка 50 долларов в час — это средний показатель между тем, сколько берут разработчики в Северной Америки (80–100 долл/час), Западной Европе (60–90 долл/час), Восточной Европе (40–60 долл/час), Индии (20–50 долл/час) и Африке (15–50 долл/час).

Таким образом, выходит, что приблизительная стоимость создания криптовалютного кошелька может варьироваться от 76 500 долларов до 200 000 долларов (в Соединенных Штатах) в зависимости от технического задания, функционала приложения, зарплаты команды разработчиков и других факторов.

Важные моменты

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

Повысить безопасность кошелька можно с помощью:

  • создания приложения на основе открытого исходного кода;
  • использования системы двухуровневой верификаций;
  • использования биометрии для аутентификации пользователя;
  • более длительного этапа тестирования;
  • других средств.

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

Третье. Описанные этапы и нюансы разработки криптовалютных кошельков не включают юридические тонкости. Например, может такое произойти, что SEC классифицирует эфир как ценную бумагу. Если это случится, вполне возможно, что кошельки без встроенной поддержки процедур KYC и AML окажутся «вне закона». Следовательно, в процесс разработки нужно включить эти вещи.

Оцените (3 голосов - 5 из 5)
Спасибо!
1
(Ужасно)
2
(Плохо)
3
(Средне)
4
(Хорошо)
5
(Класс!)


Спасибо!