// NFT

Как Разработать NFT Кошелёк?

Non-fungible token, или NFT — это разновидность криптовалютных токенов, действующих как цифровой сертификат права собственности для физических и виртуальных активов. Такие токены представляют собой уникальный, неделимый, невзаимозаменяемый цифровой идентификатор, поэтому их нельзя использовать как средство платежа. Вместо этого их используют для продажи, покупки и обмена уникальных товаров, таких как картины, фотографии, тексты, музыка или видео.

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

Как работает NFT-кошелек?

По большому счету, NFT-кошелек — это обычный криптовалютный кошелек, который помимо обычных токенов, таких как BTC, ETH и USDT, также совместим с невзаимозаменяемыми токенами, например, протоколами ERC-721, ERC-1155, TRC-721, dGoods, BEP-721 и BEP-1155. Кроме того, такие кошельки обычно имеют несколько дополнительных интеграций с NFT-маркетплейсами и DeFi-проектами, которые позволяют выпускать, управлять и торговать подобными активами.

Самые яркие примеры NFT-кошельков — это Metamask, Enjin, Math Wallet, Trust Wallet, AlphaWallet. Данные платформы позволяют хранить, покупать и продавать NFTs за криптовалюту и фиат. У них простой и интуитивно понятный интерфейс, а также интеграция с такими NFT-маркетплейсами, как OpenSea, Rarible, Makers Place, где можно создать свой невзаимозаменяемый токен и выставить его на аукцион.

Особенности NFT-кошельков

Как мы писали выше, главная особенность подобных платформ — это совместимость с протоколами невзаимозаменяемых токенов. В остальном NFT-кошельки имеют те же особенности, что и обычные криптовалютные кошельки:
  • Более безопасные платежи. Платежи в криптовалютных сетях считаются более безопасными, поскольку они используют блокчейн и смарт-контракты, которые устраняют почти всех посредников (точки уязвимостей) и не имеют единого центра управления (сервер, система), который легко взломать.
  • Ускорение и удешевление международных транзакций. Обработка международных транзакций по-прежнему занимает много времени (до 5 банковских дней), поскольку банк-посредник проверяет данные транзакции и таким образом задерживает получение платежа и увеличивает его стоимость. В сетях криптовалют нет посредников, за валидацию отвечает блокчейн, который обрабатывает платеж за минуты, взимая небольшую комиссию.
  • Конфиденциальность и анонимность. Личные данные пользователей криптовалютных кошельков зашифрованы и надежно защищены от кражи и несанкционированного доступа. Даже зная адрес криптосчета (публичный ключ), невозможно узнать идентификационные данные его владельца.
  • Прозрачность. Программное обеспечение криптовалютных кошельков обычно разработано на базе открытого исходного кода, благодаря чему каждый может проверить их надежность, безопасность и правила работы.

Безопасность NFT-кошельков

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

Вот результаты сравнения уровня безопасности популярных NFT-кошельков с перечнем их основных функций безопасности, которое провел портал Hacked:

Как разработать NFT-кошелек

Как разработать NFT-кошелек?

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

Чтобы ваш NFT-кошелек не имел подобных проблем, его создание лучше всего поручить техническому партнеру с соответствующими знаниями и опытом, такому как Merehead. Наша компания с 2015 года занимается разработкой блокчейн-, fintech- и DeFi-проектов — от простых смарт-контрактов до современных децентрализованных криптовалютных бирж. Изучить наше портфолио и узнать условия сотрудничества можно через sales@merehead.com или по номеру телефона +1-206-785-16-88.

Сам процесс создания NFT-кошелька обычно состоит из следующих этапов:

Выбор типа кошелька (платформы)

Описание типов биткоин-кошельков
Описание типов биткоин-кошельков: преимущества, недостатки и примеры. Источник
На первом этапе создания своего NFT-кошелька вы должны определиться с его основной целевой платформой, поскольку это больше всего повлияет на его дизайн, функции, стек технологий, интеграций и т.п. Вот описание основных вариантов:
  • Веб-кошельки, например, расширение MetaMask для Chrome. Это приложения, которые встраиваются в браузеры и используются для хранения и управления своими криптоактивами. Их основные преимущества в том, что они довольно простые и могут работать почти на всех компьютерах. Главный недостаток — высокая уязвимость к различным хакерским атакам.
  • Мобильные кошельки, например, кошельки MetaMask Mobile, Enjin или Math Wallet. Такие приложения устанавливаются на смартфоны. Они имеют простой интерфейс и отлично подходят для повседневного доступа и покупок в дороге. При этом они более надежны, чем расширения для браузеров, но уступают по этому параметру прочим вариантам. Кроме того, они имеют ряд ограничений, связанных с низкими аппаратными мощностями обычных смартфонов.
  • Десктопные кошельки, например, тот же MyEtherWallet. Это программы, загружаемые и устанавливаемые непосредственно на ваш компьютер или ноутбук. Они имеют максимальный функционал и при этом также позволяют заниматься майнингом (но не NFTs, так их не майнят). Безопасность таких кошельков зависит от безопасности компьютера или ноутбука, на котором он установлен, так как закрытые ключи пользователей хранятся на их ПЗУ.
  • Аппаратные кошельки, например, Ledger и Trezor. Это физические карты флеш-памяти, подключаемые к компьютеру, ноутбуку или планшету. Такие NFT-кошельки позволяют совершать транзакции, не раскрывая сид-фразу и закрытые ключи, так как они хранятся внутри флеш-накопителя и никогда не покидают его. Из-за этого аппаратные криптовалютные кошельки считаются самыми безопасными. Правда, по этой же причине их сложнее использовать.

Анализ рынка, аудитории и конкурентов

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

В зависимости от глубины анализа подобные исследования обычно делят на:

  • Отчет верхнего уровня. Поверхностное сканирование рынка, целевой аудитории и конкурентов с помощью открытых данных (маркетинговые исследования, статистика, отчеты компаний). Такой анализ дает самое базовое понимание отрасли и потребностей конечных пользователей.
  • Полный рыночный отчет. Довольно глубокое исследование, которое позволяет выделить потребности и поведенческие паттерны пользователей, а также причины успехов / неудач конкурентов. Анализ такого уровня —хорошее подспорье для поиска перспективной ниши и создания NFT-кошелька с функционалом и дизайном, которые понравятся пользователям.
  • Подробный рыночный отчет о продукте. Максимально глубокий анализ, который помимо данных полного рыночного отчета также будет содержать информацию о текущих тенденциях и вероятности возникновения новых, а также их возможного влияния на рынок, аудиторию и конкурентов.

Выбор основных функций NFT-кошелька

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

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

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

  • Двухфакторная аутентификация. Это просто реализовать, подключив инструменты Google, которые позволяют проверять пользователей с помощью номера телефона, электронной почты, QR-кода, PIN-кода или Touch / Face ID.
  • Мнемоническая фраза из 12 слов. Обычно прикрепляется к закрытым ключам, чтобы их можно было сопоставить и восстановить доступ в случае удаления кошелька или перемещения пользователя на другой криптокошелек.
  • Автоматический выход из системы. Будет полезно при краже или потере телефона, так как система будет требовать ввода логина и пароля при каждом входе в систему. Также можно добавить опцию автоматического выхода из системы при длительном простое, например, после пяти или десяти минут. Еще один уровень защиты, который будет требовать ввода специального пароля для верификации транзакций. Пароль может быть статичным или случайно генерироваться, а затем отсылаться по SMS или имейлу.
  • Баунти-кампания для выявления ошибок. Вы можете награждать людей за выявленные ими «дыры» в безопасности вашего кошелька. Награда должна быть существенной и зависить от серьезности найденной уязвимости.
  • Шифрование интернет-соединения. Ваш NFT-кошелек должен шифровать все данные, которые он отсылает по интернету и требовать такого шифрования для всех данных, которые он получает по интернету.
Курс, коэффициент конверсии. Поскольку с помощью вашего кошелька пользователи будут покупать-продавать NFTs за другую крипту и фиат, они должны знать актуальный курс биткоина, эфира и других монет, которые поддерживают ваш сервис. Кроме того, им также нужно будет знать коэффициент конверсии с учетом всех комиссий и платежей. Причем желательно, чтобы пользователи также могли отслеживать динамику изменения курсов и коэффициентов за последнее время.

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

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

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

Поддержка NFC. Чтобы ваш криптовалютный кошелек мог работать с невзаимозаменяемыми токенами, он должен поддерживать стандарты: ERC721, ERC1155, Composables, dGoods, NFT Cosmos, TRC-721, BEP-721, BEP-1155 и т.д. При этом будет очень хорошо, если ваш NFT-кошелек также даст пользователям возможность создавать собственные NFT-активы.

Уведомления. Очень полезная функция, которая будет сообщать вашим пользователям о важных событиях: подтверждении транзакции, новом сообщении, обновлении приложения, вводе/выводе средств, нетипичных действиях и прочем.

Разработка дизайна NFT-кошелька

Пример возможного дизайна вашего криптокошелька

Пример возможного дизайна вашего криптокошелька. Источник

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

Выбор технологического стека

Возможная архитектура бэкенда NFT-кошелька

Возможная архитектура бэкенда NFT-кошелька. Источник

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

Вот что вы здесь можете использовать:

  • Блокчейн: Ethereum, Binance Smart Chain.
  • Стандарт токена: ERC721, ERC1155, BEP-721, BEP-1155.
  • Смарт-контракты: Ethereum Virtual Machine, BSC Virtual Machine.
  • Языки программирования: PHP, JAVA, MEAN Stack, Laravel
  • Разработка веб-сайтов: PHP - Laravel / Codeigniter
  • MEAN: MongoDB, Express JS, Angular js, Node js
  • Для Android: Java, Kotlin, Node JS, ROR, Laravel.
  • Для IOS: Swift, Node JS, ROR, Laravel, ткань IOS.
  • Облако: AWS, Google Cloud Platform, MS Azure.
  • Push-уведомления: Twilio, Amazon SNS, MAP.
  • Базы данных: MySQL, MongoDB, Redis.
  • Другое: RSpec, Phantom JS, PUMA server.

Кодирование NFT-кошелька

На этом этапе ваш кошелек обретает форму. Фронтенд-, бэкенд-, блокчейн- и мобильные разработчики реализуют дизайн и функционал вашего кошелька в программном коде.

Тестирование продукта

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

Развертывание

Когда код вашего NFT-кошелька написан и протестирован, начинается развертывание приложения на серверах (облаке). Кроме того, ваш продукт добавляют в различные листинги, например Google Play и ‎App Store, если вы ориентированы на мобильные рынки.

Поддержка

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

Стоимость создания NFT-кошелька

Стоимость создания NFT-кошелька

Есть вопросы? Задайте их здесь

Имя *
Email *
Телефон
Ваш бюджет
Сообщение