Как уже было сказано выше, криптокошелек MetaMask работает благодаря использованию библиотеки web3.js, которая является частью официальной разработки Ethereum. Данная библиотека была разработана специально для веб-приложений, которые могли бы взаимодействовать с блокчейном Ethereum и использовать все преимущества этой сети блокчейна и ее функции.
В этом смысле MetaMask был разработан как кошелек для Ethereum и как инструмент для взаимодействия с dApps. Для выполнения обеих задач MetaMask устанавливает канал связи между расширением и рассматриваемым пользователем dApp. Как только приложение распознает, что MetaMask присутствует (опознан), оно включается и может использоваться пользователем, то есть пользователь может выполнять все действия или события, которые это приложение позволяет.
Архитектура взаимодействия веб-приложения с блокчейном через библиотеку web3.js.
Источник.
Это может быть покупка и продажа активов, доступ к ресурсам и услугам приложения или любая другая задача, которую может выполнить dApp. При этом каждое из этих действий имеет свою стоимость (транзакционная комиссия), которая должна быть оплачена в Эфириуме или в другом указанном токене. Для этого в кошельке MetaMask есть все необходимые инструменты и протоколы.
Таким образом, можно сказать, что MetaMask не только предоставляет функции криптокошелька, но также контролирует каждое взаимодействие пользователя с dApp и обрабатывает операции, необходимые для выполнения указанных всех этих действий. И все это осуществляется с использованием надежной криптографии и в безопасном и интернет-соединении. Коме этого MetaMask может генерировать асимметричные ключи, сохранять их локально и управлять доступом к ним. Благодаря этому MetaMask является очень безопасным расширением.
Ключевые особенности MetaMask
Простота и удобство. Наиболее очевидной особенностью кошелька MetaMask является простота использования. Чистый и интуитивно понятный пользовательский интерфейс упрощает управление криптовалютой и взаимодействие с dApps. Кроме того, это также позволяет создавать несколько кошельков. Когда вы создаете новый кошелек, он генерирует новый открытый ключ и новый закрытый ключ, между которыми пользователи MetaMask могут легко и быстро переключаться.
В MetaMask очень простой, чистый и интуитивно понятный дизайн.
Источник.
Интеграция с различными dApps. В MetaMask пользователи могут одним нажатием кнопки взаимодействовать с большим количеством децентрализованных приложений. Благодаря чему можно быстро обменять токены на биржах Uniswap или PancakeSwap, запустить блокчейн-игры Gods Unchained или Decentraland, купить NFT на Opensea и Rarible. Все это возможно без каких-либо сложных процедур. Вам понадобится только простое подключение к криптокошельку MetaMask.
Интеграция с другими блокчейнами. Еще одна особенность MetaMask заключается в том, что вы можете связать его не только с Ethereum, но и с другими блокчейнами, например с Avax, Polygon, Fantom и Binance Smart Chain (BSC).
Поддержка аппаратных кошельков. Еще сервис MetaMask совместим с аппаратными кошельками, такими как Ledger, Nano или Trezor. Вам нужно только нажать «подключить аппаратный кошелек». Очень полезно при взаимодействии с приложениями, которые не поддерживают аппаратные кошельки Trezor и Ledger.
Поддержка Swaps. В 2021 году MetaMask добавил возможность быстро и сравнительно дешево обменять криптовалютные токены внутри своего кошелька с помощью Swaps. Новый функционал поддерживает несколько автоматических market makers (ММ) для поиска наилучшего курса по обмену токенов.
Поддержка NFT. Также кошелек MetaMask позволяет хранить NFT, которые пользователь купил на торговых площадках. Купленные NFTs автоматически появятся на вкладке предметов коллекционирования в кошельке.
Основные функции криптокошелька
При разработке своего криптовалютного кошелька наподобие MetaMask вам нужно реализовать две роли пользователей: обычные пользователи и администраторы. В первом случае это пользователи, которые хотят использовать криптокошелек для хранения, обмена или купли-продажи токенов. Тогда как администраторы — это персонал, который отвечает за управление кошельком и его правильную работу. Часто они также решают проблемы обычных пользователей.
Вот перечень функций для обычных пользователей:
- Регистрация. Очень просто создать новый профиль. Достаточно открыть интернет-браузер, скачать расширение MetaMask с официального сайта и придумать сложный пароль. После чего нужно будет записать seed-фразу, и кошелек готов к использованию. Если у вас уже есть криптовалютный адрес, то вы можете его быстро подключить к криптовалютному кошельку.
- Актуальный курс. В MetaMask отображается только количество токенов на счету, тогда как в других криптокошельках также можно увидеть актуальный курс токенов в инвестиционном портфеле. Поэтому если вы создаете клон криптокошелька MetaMask, то лучше добавить эту опцию и таким образом повысить пользовательский опыт вашего будущего проекта.
- Операции с криптоактивами. Передача и получение токенов, а также перевод одной криптовалюты в другую — основная функция любого кошелька, поэтому она должна быть максимально простой и удобной, чтобы любой пользователь сразу понял, что и как делать. Кроме этого, также сюда желательно добавить возможность проверки текущего баланса и истории транзакций. В MetaMask это реализовано не очень хорошо: если вы торговали на бирже, то MetaMask может не показывать эти операции и актуальный баланс. Убедитесь, что разрабатываемый вами кошелек не имеет таких проблем.
- Избранные адреса. Это еще одна вещь, которой пока нет в MetaMask и которая есть в большинстве других кошельков. С ее помощью пользователи могут составить список адресов для быстрой отправки токенов. Очень удобно для небольших периодических операций (например, оплаты подписок).
- Добавление блокчейнов. После установки MetaMask пользователь может оперировать лишь эфиром и токенами стандарта ERC-20, но при желании пользователь также может подключить другие цепочки. При этом адрес кошелька пользователя на всех этих цепочках будет одинаковый.
- Поддержка NFT. Не так давно MetaMask даже добавил в свой кошелек поддержку невзаимозаменяемых токенов.
Перечень функций для администратора платформы:
- Панель приборов. С помощью этого экрана администратор может отслеживать текущее состояние платформы: наличие каких-то проблем, количество пользователей, объем транзакций и многое другое.
- Управление пользователями. С помощью этой панели администратор отслеживает статус пользователей системы и управляет ими: добавление / удаление, заморозка, коммуникация, верификация и прочее.
- Управление комиссиями. Здесь можно добавить, удалить или изменить комиссию за транзакции, проходящие через криптокошелек.
- Управление платежной системой. В кошельке MetaMask нет возможности привязать к кошельку банковскую карту, Paypal или иную платежную систему. Но если она есть, то администратору нужны инструменты управления ею.
- Управление контентом. Это доступные администраторам настройки пользовательского интерфейса (тексты, иконки, ссылки и прочее).
- Подключение Facebook, Twitter, Instagram.
- Отчетность и аналитика.
- Документация по API.
Расширенные функции клона MetaMask
Чтобы ваш клон криптовалютного кошелька MetaMask стал популярным, ему, помимо базовых функций, также нужны дополнительные возможности, которые выделят его среди конкурентов и улучшат пользовательский опыт.
Это может быть следующий функционал:
- Привязка счета. Вашим пользователям будет удобно, если они смогут покупать криптовалюту и переводить ее в фиат сразу в вашем кошельке. Чтобы это стало возможным, при разработке своего кошелька, такого как MetaMask, нужно добавить возможность привязать к нему банковский счет, банковскую карту, Paypal или иной механизм онлайн-платежей.
- E-commerce-интеграции. Речь об интеграции кошелька с биржами, NFT-маркетплейсами, децентрализованными приложениями, магазинами и другими внешними сервисами, которые будут полезны пользователям.
- Мультиязычный интерфейс. Если вы ориентированы на рынок, где все общаются на одном языке, то этим можно пренебречь. Однако если вы намерены выйти на глобальный рынок, то вам нужна поддержка как можно большего количества языков, чтобы увеличить охват аудитории.
- Push-уведомления. Будут информировать о зачислении средств на кошелек, завершении транзакций, резком изменении курсов валют в инвестиционном портфеле, обновлении системы, странной активности и прочем.
- VIP-поддержка. Многие криптовалютные площадки предоставляют улучшенную поддержку за дополнительную плату. Это может быть поддержка 24/7, общение с выделенным вам специалистом и другие вещи.
- QR-сканер. Это еще одна полезная опция, которая позволит вашим пользователям сильно ускорить платежные операции. Кроме того, она также значительно уменьшит количество ошибочных переводов.
Процесс разработки кошелька MetaMask
Этап 1: фаза открытия
Прежде чем приступать к разработке дизайна и написанию программного кода вашего будущего продукта, вам необходимо тщательно проработать его концепцию. В случае разработки клона MetaMask вам нужно придумать, как выделить его среди конкурентов — как сделать так, чтобы пользователи использовали не оригинальный MetaMask, а ваше расширение. Чтобы это понять, нужно провести тщательный всесторонний анализ рынка, конкурентов и целевой аудитории.
Этап 2: разработка архитектуры
На основе данных, собранных на первом этапе, создается информационная архитектура будущего продукта — блок-схема, где отображены функции (экраны) и компоненты системы, а также то, как они будут взаимодействовать.
Пример информационной архитектуры криптокошелька.
Источник.
Этап 3: разработка UX/UI-дизайна
Чтобы ваш клон MetaMask понравился пользователям, у него должен быть приятный и понятный дизайн пользовательского интерфейса. За создание такого дизайна отвечают дизайнеры UX/UI. Они изучают цели проекта, бизнес-аналитику, задачи и потребности пользователей, чтобы на основе этой информации создать варфреймы (низкой и высокой точности) и прототипы будущего криптокошелька.
Варфреймы низкой точности — это простые наброски будущего дизайна, где обозначены экраны и то, что там должно быть. Вот как они выглядят:
Пример варфреймов низкой точности криптокошелька. Источник.
Дальше дизайнеры из этих набросков создают варфреймы высокой точности — дизайн интерфейса в том виде, в котором его увидят конечные пользователи. Вот как могут выглядеть варфреймы высокой точности криптовалютного кошелька.
Пример варфреймов высокой точности криптокошелька. Источник.
Если созданные варфреймы высокой точности понравятся заказчику и целевой аудитории (об этом можно узнать с помощью фокус-групп), то на их основе создают прототипы интерфейса, где работают все анимации, переходы между экранами и прочее, но не работают функции кошелька. Благодаря прототипам можно получить более эффективную обратную связь и еще лучше оптимизировать дизайн.
Пример анимированного прототипа криптокошелька.
Источник.
После создания прототипа дизайна команда программистов приступает к технической реализации вашего клона MetaMask. Для этого back-end- и front-end-разработчики используют различные инструменты разработки (стек технологий), которые позволяют ускорить, упростить и удешевить процесс разработки. Какие именно инструменты использовать, разработчики решают исходя из поставленной задачи, целевой платформы, своих знаний и опыта.
Этап 4: написание кода приложения
Технический стек для back-end клона MetaMask:
- Смарт-контракты: виртуальная машина Ethereum или BSC.
- Базы данных SQL: MySQL, PostgreSQL, MariaDB, MS SQL, Oracle.
- DevOps: GitLab CI, TeamCity, GoCD Jenkins, WS CodeBuild, Terraform.
- Базыданных NoSQL: MongoDB, Cassandra, DynamoDB.
- Поисковые системы: Apache Solr, Elasticsearch.
- Языки программирования: Java, PHP, Python.
- Фреймворки: Spring, Symphony, Flask.
- Кэш: Redis, Memcached.
Технический стек front-end клона MetaMask:
- Языки программирования для веб: Angular.JS, React.JS и Vue.JS.
- Языки программирования для App: Java, Kotlin для Android и Swift для iOS.
- Архитектура: MVVM для Android и MVC, MVP, MVVM и VIPER для iOS.
- IDE: Android Studio и Xcode для
- SDK: Android SDK и iOS SDK.
Этап 5: тестирование продукта
При разработке кошелька нужно проверить будущий продукт на наличие багов и ошибок, функциональность, юзабилити, нагрузку, правильную работу смарт-контрактов, соответствие спецификациям и т. д. Этим занимаются QA-специалисты, и лучше их привлекать почти сразу после начала разработки, чтобы не накапливать ошибки. Кроме того, также нужно привлечь независимых аналитиков (например, из Certik или Techrate) для тестирования смарт-контрактов вашего кошелька
Этап 6: развертывание, релиз
Когда ваш клон криптокошелька MetaMask создан и протестирован, необходимо произвести его развертывание в облаке (AWS, Azure) или на локальных серверах вашей компании. Если вы также создали мобильную версию кошелька, то ее нужно опубликовать в сторах: Google Play, App Store, Microsoft Store и Amazon App Store.
Этап 7: поддержка продукта
В конце нужно наладить работу службы поддержки вашего криптовалютного кошелька, которая будет помогать пользователям решать возникшие проблемы и собирать обратную связь для последующих улучшений продукта.
Стоимость создания клона MetaMask