Хотите Разработать криптовалютный кошелёк, как MetaMask?
Компания Merehead занимается криптовалютной и блокчейн разработкой. Свяжитесь с нами и получите бесплатную консультацию!
Поговорить с Менеджером
MetaMask — это один из самых популярных криптовалютных кошельков, пользовательская база которого каждый год неуклонно растет независимо от взлетов и падений рынка. На сегодня в MetaMask около 21 миллиона активных пользователей в месяц, что в 80 раз больше, чем в 2019 году и значительно больше, чем у любого другого некастодиального кошелька. Дальше мы разберем, благодаря чему этот кошелек стал настолько популярным. Опишем, как он работает и как создать собственный криптовалютный кошелек наподобие MetaMask.
Кратко о кошельке MetaMask
MetaMask — это простой и легкий криптовалютный кошелек с открытым кодом, который работает как расширение для веб-браузера (доступно в Chrome, Firefox и Brave) и как мобильное приложение (совместим с iOS и Android). Изначально данный кошелек позволял управлять только эфиром и токенами ERC-20, но теперь он может также обрабатывать токены стандарта ERC-721 и ERC-1155. Кроме этого, MetaMask также выделяется тем, что он может взаимодействовать с сайтами, что позволяет ему быть своего рода шлюзом для связи с разнообразными Dapps на Эфириуме.
Разработали криптовалютный кошелек MetaMask
Адриан Девис и
Ден Финли. Их идея была простой и революционной: создать расширение для браузеров, которое не только будет управлять криптовалютой, но и позволит использовать свой браузер для быстрого и безопасного взаимодействия с любыми dApps (сайтами этих dApps). Идея была реализована в 2016 году СonsenSys Software Inc., разработчиком, специализирующемся на приложениях на базе блокчейна Ethereum.
Для реализации этой особенности было решено использовать интерфейс Ethereum и веб-API под названием
web3.js. Эта библиотека Ethereum стала фундаментальной основой MetaMask, так как она позволила браузеру взаимодействовать с локальным или удаленным узлом блокчейна с помощью HTTP, IPC или WebSocket: записывать и читать данные из смарт-контрактов, передавать токены и многое другое. Другими словами, web3.js позволила блокчейн-разработчикам создавать прокси и / или коммуникационный мост между MetaMask, dApps и пользователями.
Как описывают Адриан Девис и Ден Финли, их идея была отличной, но вот ее техническая реализация оказалась очень сложной, особенно в части обеспечения необходимой безопасности для пользователей (веб-кошельки считаются самыми уязвимыми для хакеров). Тем не менее СonsenSys выполнили свою миссию, и 14 июля 2016 года была представлена их первая версия браузерного криптокошелька MetaMask для браузера Chrome и его производных. Позже будет представлена их версия для Firefox, Brave и других популярных браузеров. В 2019 году также была представлена официальная мобильная версия криптокошелька MetaMask.
Как работает кошелек Metamask?
Как уже было сказано выше, криптокошелек 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 или иной механизм онлайн-платежей.