# Подписание транзакций и ордеров в MetaMask
— расширение браузера для хранения ключей аккаунта, управления криптоактивами и взаимодействия с децентрализованными приложениями.
Для поддержки MetaMask в протокол Waves добавлены:
- поддержка Ethereum-like транзакций,
- поддержка ордеров с подписью ECDSA в транзакции обмена.
В результате пользователям MetaMask стали доступны:
- перевод токенов в сети Waves — как системного токена WAVES, так и пользовательских;
- вызов dApp-скрипта в сети Waves;
- подписание биржевого ордера.
Разработчики приложений могут использовать библиотеку Signer совместно с ProviderMetamask
для подписания и отправки транзакций от имени пользователя MetaMask.
Поддержка MetaMask не подразумевает взаимодействия с другими блокчейнами.
Поддержка MetaMask доступна c момента активации фичи № 17 “Ride V6, MetaMask support”.
# Адрес пользователя
Адрес пользователя MetaMask состоит из 20 байт. Адрес в формате Waves также содержит 20 значимых байт, к которым добавляется префикс, общий для всех адресов сети, и контрольная сумма (см. также раздел Бинарный формат адреса). Таким образом, адрес пользователя MetaMask можно преобразовать в формат Waves и наоборот: в основе лежат одни и те же 20 байт.
⚠️ Аккаунт, созданный в MetaMask, невозможно перенести в приложение-кошелек Waves (WX Network, Keeper Wallet или другой), а аккаунт из кошелька Waves невозможно перенести в MetaMask. MetaMask и Waves используют разные криптографические алгоритмы, поэтому из одной и той же seed-фразы получатся разные аккаунты с разными адресами. Не существует способа получить из seed-фразы MetaMask seed-фразу Waves, соответствующую тому же адресу, и наоборот.
В интерфейсах адрес пользователя MetaMask представлен в кодировке HEX, а адрес Waves — в base58. Для преобразования адреса из одного формата в другой можно использовать:
# Подключение к сети Waves
Нода Waves предоставляет RPC API с поддержкой функций, необходимых для работы MetaMask.
Подключение MetaMask к сети Waves может быть выполнено пользователем самостоятельно или программно.
В случае самостоятельного подключения пользователь выбирает в списке сетей «Пользовательский RPC» и указывает параметры подключения:
- Имя сети — Waves, Waves Testnet или Waves Stagenet. Подробнее о сетях блокчейна
- URL RPC — адрес ноды Waves с открытым RPC API, например адрес пула публичных нод:
- для Mainnet: https://nodes.wavesnodes.com/eth
- для Testnet: https://nodes-testnet.wavesnodes.com/eth
- для Stagenet: https://nodes-stagenet.wavesnodes.com/eth
Для программного подключения веб-приложение может использовать библиотеку Signer совместно с ProviderMetamask
- Приложение вызывает функцию login() .
- Signer вызывает соответствующую функцию ProviderMetamask, а ProviderMetamask вызывает API MetaMask.
- MetaMask открывает окно, в котором пользователь подтверждает подключение к сети.
- Получив подтверждение, MetaMask добавляет подключение к сети, а также возвращает адрес пользователя.
В результате MetaMask отображает сеть Waves в качестве доступной, а функция login() возвращает адрес пользователя в формате Waves.
Пример программного подключения см. в подразделе Примеры использования MetaMask ниже.
# Внесение токена
Пользователи кошельков Waves, таких как Keeper Wallet, WX Network, WavesFX и других (приложения разработаны сторонними командами из сообщества), могут перевести токены пользователю MetaMask. В некоторых кошельках поддерживаются только адреса в формате Waves, поэтому необходимо предварительно преобразовать адрес получателя из MetaMask-представления в Waves. В результате создается обычная транзакция перевода.
Баланс системного токена WAVES отображается в MetaMask автоматически, если подключена сеть Waves. Чтобы добавить отображение баланса по другому токену, нужно в качестве адреса контракта токена указать ID токена в MetaMask-представлении, а именно первые 20 байт идентификатора в кодировке HEX. Для преобразования ID токена из одного формата в другой можно использовать Waves Explorer для Mainnet
# Вызов скрипта
Веб-приложение может выполнить вызов dApp-скрипта от имени пользователя MetaMask, используя библиотеку Signer совместно с ProviderMetamask
- Приложение формирует и отправляет транзакцию вызова скрипта c помощью функции invoke(<. >).broadcast() .
- Signer вызывает соответствующую функцию ProviderMetamask, а ProviderMetamask вызывает API MetaMask.
- MetaMask открывает окно, в котором пользователь может посмотреть детали транзакции, подтвердить или отклонить ее.
- Получив подтверждение от пользователя, MetaMask генерирует для транзакции подпись ECDSA и отправляет подписанную транзакцию на ноду Waves через RPC API.
- MetaMask отображает статус транзакции.
- MetaMask не поддерживает подписание транзакции без отправки ее на блокчейн, поэтому функцию sign() использовать не следует.
- Нода Waves не поддерживает ускорение или отмену транзакции и обрабатывает только первоначальную транзакцию.
Пример вызова скрипта см. в подразделе Примеры использования MetaMask ниже.
# Перевод токена
Чтобы самостоятельно выполнить перевод токена из кошелька MetaMask, пользователю необходимо:
- Подключить сеть Waves (см. выше).
- Баланс системного токена WAVES отображается автоматически. Чтобы добавить отображение баланса по другому токену, нужно в качестве адреса контракта токена указать ID токена в MetaMask-представлении, а именно первые 20 байт идентификатора в кодировке HEX.
- Перевести токен на другой адрес. Адрес необходимо указать в MetaMask-представлении.
MetaMask формирует Ethereum-like транзакцию, подписывает ее закрытым ключом пользователя и передает на ноду Waves.
Для преобразования адреса получателя и ID токена в MetaMask-представление можно использовать Waves Explorer for Mainnet
Веб-приложение может выполнить перевод любого токена в сети Waves от имени пользователя MetaMask, используя библиотеку Signer совместно с ProviderMetamask. Для этого приложение формирует и отправляет транзакцию перевода с помощью функции transfer(<. >).broadcast() . Дальнейшая обработка транзакции аналогична вызову скрипта, см. подраздел выше.
# Особенности Ethereum-like транзакции
- Транзакция не может быть отправлена со смарт-аккаунта или dApp, поскольку пользователю MetaMask доступны только перевод токена и вызов скрипта, а установка скрипта недоступна. комиссии недоступно: комиссия может быть указана только в WAVES.
# Поддержка в Ride
В случае вызова скрипта с помощью Ethereum-like транзакции структура Invocation, доступная вызываемой функции, содержит:
- в полях caller , originCaller — адрес отправителя в формате Waves (26 байт),
- в полях callerPublicKey , originCallerPublicKey — открытый ключ пользователя MetaMask (64 байта).
В случае верификации скриптом ассета Ethereum-like транзакция интерпретируется как структура TransferTransaction или InvokeScriptTransaction, которая содержит:
- в поле sender — адрес отправителя в формате Waves (26 байт),
- в поле senderPublicKey — открытый ключ пользователя MetaMask (64 байта).
- в поле bodyBytes — пустой массив байтов,
- в поле version — 0.
Подпись транзакции недоступна в скрипте ассета.
Ethereum-like транзакция никогда не проверяется смарт-аккаунтом или функцией-верификатором dApp-скрипта, поскольку такая транзакция не может быть отправлена со смарт-аккаунта или dApp.
В Стандартной библиотеке версии 6:
- Функция addressFromPublicKey принимает на вход как публичный ключ аккаунта Waves (32 байта), так и публичный ключ аккаунта MetaMask (64 байта) и возвращает адрес в формате Waves (26 байт).
- Функция transferTransactionById возвращает Ethereum-like транзакцию по ее идентификатору, если эта транзакция была интерпретирована как транзакция перевода. Массив proofs при этом содержит 8 пустых значений.
# Биржевой ордер
В транзакции обмена один из ордеров (или оба) может быть с подписью ECDSA. Подпись ECDSA поддерживается только для ордеров версии 4.
Библиотека Signer не поддерживает подписание ордера, и нужно вызывать функцию signOrder() ProviderMetamask напрямую.
Приложение вызывает функцию signOrder() ProviderMetamask, передавая параметры ордера.
• ID ассетов следует указывать в формате Waves: 32 байта в base58. Для WAVES следует указывать строку WAVES .
• senderPublicKey должен отсутствовать.
ProviderMetamask передает ордер в MetaMask как структуру данных, в соответствии с EIP-712
MetaMask открывает окно, в котором пользователь может посмотреть детали ордера, подписать его или отклонить.
MetaMask возвращает подпись ECDSA для этой структуры данных.
Приложение передает подписанный ордер в матчер.
Матчер исполняет ордера и формирует транзакции обмена.
Пример подписания ордера см. в подразделе Примеры использования MetaMask ниже.
# Сообщение
Веб-приложение может запросить подпись произвольной строки от имени пользователя MetaMask, используя функцию signMessage(‘. ‘) в Signer. ProviderMetamask вызывает версию 4 функции signTypedData API MetaMask и передает следующую структуру:
В качестве chainId указывается 87 для Mainnet, 84 для Testnet, 83 для Stagenet.
Чтобы проверить подпись, нужно восстановить адрес пользователя из подписи и подписанных данных с помощью версии 4 функции recoverTypedSignature и сравнить с ожидаемым. См. пример в разделе signMessage документации Signer.
# Примеры использования MetaMask
# Вызов скрипта
Пример подключения к сети Waves и подписания транзакции вызова скрипта можно посмотреть в приложении Waves Dapp Ui.
Нажмите Sign In и выберите Sign in with Metamask. Подтвердите в MetaMask подключение к сети. Waves Dapp Ui по умолчанию отображает адрес пользователя в формате Waves, но с помощью кнопок и доступно переключение между форматами адресов.
Чтобы получить WAVES для уплаты комиссий за транзакции на Testnet или Stagenet, скопируйте адрес в формате Waves и воспользуйтесь Testnet Faucet или Stagenet Faucet .
Укажите аргументы вызываемой функции и (если требуется) платежи. Подтвердите транзакцию в MetaMask. Статус транзакции отображается в MetaMask на вкладке Активность с небольшой задержкой.
По ссылке на транзакцию из MetaMask открывается страница транзакции в Waves Explorer.
. Для работы приложения необходимо установить библиотеку ProviderMetamask и последнюю версию Signer.
# Подписание ордера
Пример подписания ордера можно посмотреть на странице Signer test
В настройках страницы выберите сеть Waves: Mainnet, Testnet или Stagenet. Затем нажмите Login via Metamask. В поле Order заполните параметры ордера и нажмите Sign. В MetaMask разрешите доступ к открытому ключу, затем подтвердите подписание данных. Подпись ордера появится на странице Dapp test в поле sign.
# Подписание сообщения
Пример подписания сообщения также можно посмотреть на странице Signer test
В настройках страницы выберите сеть Waves: Mainnet, Testnet или Stagenet. В поле Message вставьте сообщение и нажмите Sign. В MetaMask разрешите доступ к открытому ключу, затем подтвердите подписание данных. Подпись сообщения появится на странице Dapp test в поле sign.
Как отменить «застрявшую» транзакцию в Metamask?
Многие пользователи сети Ethereum и других EVM-совместимых сетей сталкивались с тем, что подтверждение транзакции длится долго или во все зависает на неопределенный срок. Такое происходит крайне редко, тем не менее, доставляет неудобства, т.к. дальнейшие транзакции с этого кошелька становятся невозможны и все транзакции выстраиваются в очередь за одной единственной застрявшей транзакцией. Рассмотрим в этой статье, почему это происходит и как можно решить эту проблему, используя Metamask.
Как рассчитывается стоимость транзакции?
Размер комиссии в Ethereum и совместимых сетях, напрямую зависит от того, сколько транзакция забирает на себя вычислительной мощности узла-валидатора. Поэтому пользователь платит узлам за то, что они проверят и обработают транзакцию.
Есть 3 основных параметра при вычислении стоимости транзакции:
- Стоимость газа (Gas Cost) — это общая стоимость транзакции с учетом вычислительных мощностей.
- Цена газа (Gas Price) — цена каждой единицы газа.
- Лимит газа (Gas Limit) — максимальное количество газа, за который готов заплатить пользователь.
Обычно все эти параметры регулируются автоматически кошельком исходя из загрузки сети и данных, которые передают децентрализованные приложения (dApps) кошельку при взаимодействии. Тем не менее, каждый пользователь может изменить их при совершении транзакции для увеличения скорости транзакции или если скорость не важна, то для уменьшения стоимости транзакции.
Почему транзакция не подтверждается?
Основной причиной не подтверждения транзакции является недостаточное количество газа, указанного в совершаемой транзакции. В подавляющем числе случаев, такие транзакции отвергаются узлами и они завершаются с ошибкой, но бывают случаи, когда узел может поставить транзакцию в список ожидания (Mempool), чтобы вернуться и обработать ее позже, когда нагрузка на сеть будет ниже.
Но если кошелек вычисляет необходимое количество газа автоматически, то почему же транзакции оказываются в «ожидании»? Причин тому может быть множество:
- Пользователь сам указал слишком низкий лимит газа в попытке значительно снизить стоимость транзакции.
- В сети произошел резкий скачек нагрузки и она долгое время не снижается до значений, в момент которых было рассчитано количество газа в транзакции.
- Децентрализованное приложение (dApps) передало не верные данные о необходимом количестве газа для взаимодействия со смарт-контрактом.
- В конце концов в сети может произойти неожиданный сбой, который приведет к подвисанию транзакции.
Во всех этих случаях транзакция может зависнуть как на непродолжительное время, так и зависнуть совсем. Все бы ничего, но пока транзакция не будет завершена, пользователь не сможет совершать другие транзакции с использованием этого кошелька.
Есть 2 способа решения данной проблемы: 1. Ускорение транзакции, 2. Замена транзакции.
Как ускорить транзакцию?
Ускорение транзакции работает не всегда, но это первое, что нужно попробовать:
Для ускорения транзакции нажмите «Ускорить« и увеличьте количество газа. В некоторых случаях это поможет и транзакция будет обработана узлом. Пробовать отменить транзакцию при помощи кнопку «Отмена« бесполезно, эта функция предназначена для отмены обычных транзакций, которые гарантированно будут обрабатываться узлом.
Если все-таки это не помогло и транзакция так и продолжает находится «в ожидании», приступайте к способу с «заменой транзакции».
Как отменить транзакцию путем замены?
Суть данного способа заключается в том, чтобы заменить «застрявшую» транзакцию другой, используя одноразовый номер «Nonce» старой транзакции.
1. Откройте настройки Metamask и перейдите в раздел «Дополнительно«, найдите настройку «Настроить одноразовый номер транзакции« и передвиньте ползунок в положение «ВКЛ«.
2. Откройте транзакцию, которую необходимо заменить и скопируйте «одноразовый номер«.
3. Инициируйте новую транзакцию с нулевой суммой, указав в качестве получателя адрес своего кошелька. В поле «Пользовательский одноразовый номер« вставьте номер старой транзакции. Затем перейдите к настройке газа, нажав «Рынок >«.
4. Увеличьте количество газа для транзакции. Можно выбрать режим «Агрессивный«, но лучше перейти в «Дополнительно« и указать еще большее количество газа вручную.
Полная инструкция по Metamask
За последние несколько месяцев в крипту пришло довольно много новых пользователей, которые часто задают много вопросов по крипте и чаще эти вопросы касаются Metamask, как им пользоваться, как свапать на Uniswap, 1inch, как мониторить стоимость газа, как искать контракты или принимать участие в сейлах от различных проектов.
Мы постарались сделать пошаговую инструкцию про о кошельке METAMASK ответив на часто задаваемые вопросы.
Один из самых популярных кошельков на Ethereum является Metamask .
Изначально MetaMask, который был разработан и выпущен компанией ConsenSys, Metamask был изначально расширением для Chrome и Firefox, теперь он поддерживается многими браузерами, включая Opera, Safari, BRAVE и др. C момента запуска в 2016 году он был загружен более четырех миллионов раз.
Благодаря этому расширению пользователи могут совершать переводы ERC-20 токенами, обменивать их, торговать, делать платежи, хранить крипту, взаимодействовать с различными децентрализованными приложениями, играть, покупать редкие цифровые произведения искусства и многое другое.
Спустя годы разработки, компания ConsenSys решила выпустить мобильное приложение для iOS и Android . Внутри мобильного кошелька установлен внутренний браузер, благодаря которому вы можете совершать абсолютно то же самое, что и с обычного расширения в браузере.
В общем, MetaMask делает Ethereum максимально простым в использовании для максимального количества людей, которым, кстати, пользуется более 2 млн человек, благодаря популярности сети Ethereum и децентрализованных финансов (DeFi).
Стоит еще отметить, что в Metamask имеется возможность поддержки других сетей и переключение между ними. Так, например, вы можете настроить сеть BINANCE Smart Chain (BSC), Huobi Eco Chain (HECO), Avalanche network и многие другие в свой Metamask и пользоваться приложениями уже в других блокчейнах. Это очень упрощает работу со многими проектами, сейлами, переводами крипты и другим.
И так, давайте уже перейдем к практической части.
Для того, чтобы начать пользоваться расширением, сперва нужно зайти на официальный сайт Metamask. Далее нужно выбрать и установить расширение указав при этом каким браузером будем пользоваться. В этом руководстве мы будем использовать Google Chrome в качестве примера, но те же шаги применимы и к другим браузерам.
После того, как установили расширение, нажимаем значок Metamask на панели инструментов вашего браузера, чтобы открыть приложение. Затем нажимаем «Начать».
Здесь нам уже предлагают выбрать, импортировать уже существующий кошелек, либо же создать новый. Если у вас имеется сид фраза кошелька Metamask, то вы можете её импортировать, что в принципе делается довольно просто.
Вставляете 12 слов и устанавливаете пароль на кошелек. Пароли вы можете устанавливать разные на каждое устройство на которое вы импортируете данные.
Давайте теперь нажмем «Создать кошелек».
В этом окне нам Metamask предлагает принять или отказаться от того, будет ли он собирать наши данные о взаимодействии нашего кошелька с другими сервисами и сайтами. Здесь можно в принципе отказаться.
Теперь создаем пароль для кошелька. Вы должны создать безопасный пароль, который содержит минимум 8 знаков, советуем использоваться заглавную букву, цифры, нижнее подчеркивание и другие символы для более безопасного использования кошелька. Но о безопасности кошелька мы поговорим чуть позже.
Здесь есть один нюанс, если вы забудете пароль, то вы в любом случае сможете войти в Metamask за счет сид фразы. Как вы видели в начале обзора, можно просто импортировать уже существующий кошелек.
Дальше соглашаемся с пользовательским соглашением и нажимаем Создать.
В следующем окне нажимаем на серую область, чтобы разблокировать нашу сид фразу.
Вы увидите набор из 12 «начальных слов» для вашего Metamask. Нажмите «Сохранить seed-фразу как файл» и скопируйте файл «seed фраза MetaMask», в безопасное место. Она понадобится вам для доступа к вашему кошельку.
Очень важно! MetaMask является некастодиальным сервисом, это означает, что никто другой не может получить доступ к вашим средствам – даже разработчики MetaMask. Можно сказать, ваши токены существуют в зашифрованном хранилище браузера, которое защищено паролем. Это означает, что если ваш компьютер будет потерян, украден или уничтожен, вы не сможете восстановить кошелек. Ваши приватные ключи будут навсегда потеряны.
Поэтому крайне важно записать резервную фразу. Это единственный способ восстановить вашу учетную запись, если что-то случится. Мы рекомендуем вам записать слова и хранить их в двух или трех разных местах. Не обязательно класть их в несгораемый сейф и закапывать в глухом лесу, но лишним не будет.
Следующий шаг, после того как вы нажали «Я скопировал его в безопасное место». Вы попадете в свой кошелек Metamask!
Нажимаем на слова своей исходной фразы в правильном порядке (1), чтобы доказать, что мы их правильно записали. После чего нажимаем «Подтвердить» (2).
Поздравляем, теперь кошелек Metamask готов к использованию.
После всех этих процедур, теперь вы можете начать полноценно пользоваться своим личным кошельком. Чтобы пополнить баланс, достаточно просто нажать скопировать адрес и вы можете отправить на него свои эфирки или токены ERC-20 для которых будет один адрес кошелька.
Также есть возможность покупки эфира с банковской карты, но это обойдется дороже и будет гораздо дольше, чем обычный вывод с биржи на кошелек. Этой функцией крайне редко кто пользуется из-за высоких комиссий и процента за покупку монет.
Стоит отметить, что все комиссии в сети оплачиваются в эфире, соответственно, необходимо контролировать кол-во эфира когда вы взаимодействуете с кошельком.
Вы увидите свой баланс в нижней части кошелька (3) после того, как ваши средства будут зачислены. ETH будет отображаться по умолчанию. Если пользовательские токены ERC-20 не отображаются, нажмите «Добавить токен», чтобы добавить эти токены в список.
То есть вы добавляете контракт токена, который вы обмениваете или отправляете на кошелек. Для этого лучше всего использовать сайт коингекко. Они недавно добавили возможность прямого подключения токена, который вам необходим.
На сайте ищем нужный нам токен, это будем, допустим USDT или USDC, в строке контракт мы можем его скопировать, либо нажать на морду лисы и автоматически будет добавление токена в кошелек.
Пополнение вашего ETH может занять несколько минут, это зависит от загруженности сети. Чем больше загруженность, тем больше подтверждается транзакция и дороже может стоить транзакции в сети. По-этому рекомендуем использовать для мониторинга стоимости транзакций, свапа токенов, сайт https://etherscan.io/gastracker на котором отображается текущая стоимость в газе и долларах, а также если ввести на сайте адрес кошелька, можно мониторить переводы, кошельки и текущее состояние транзакции.
Теперь давайте попробуем отправить криптовалюту на другой кошелек или на адрес биржи. Для этого нажимаем кнопку «Отправить» на главной панели Metamask. Вводим сумму ETH или другую криптовалюту, которую хотим отправить (1), и сумму комиссии за транзакцию, которую необходимо заплатить (2).
Затем нажимаем «Далее» (3).
Более высокая комиссия поможет быстрее подтвердить вашу транзакцию. Metamask автоматически устанавливает комиссию по умолчанию. Однако такие сайты, как https://etherscan.io/gastracker , могут помочь вручную подобрать идеальную плату.
Нажмите «Далее» (3), чтобы завершить детали вашей транзакции. Затем нажмите «Подтвердить». Опять же, для подтверждения транзакции может потребоваться некоторое время.
Вы можете проверить статус своей транзакции на панели «Активность» Metamask.
Как использовать децентрализованные приложения
Если вы хотите потратить свой ETH на DApp, выберите приложение от DAppRadar .В этом примере мы будем использовать Uniswap, которая является децентрализованной биржей для обмена токенами стандарта ERC20, функционирующей за счет идеи автоматизированного маркет-мейкера (АММ). То есть, вы можете легко обменить эфир, USDT, USDC и сотни других альткоинов на другие.
Заходим на Uniswap. Вводим сумму криптовалюты, которую хотим купить, и выбираем токены, которые хотим обменять (1). Затем подключаем свой кошелек Metamask с Uniswap, нажав «Подключить кошелек» и выбрав Metamask (2).
Появится панель Metamask. Подключаемся к Юнисвапу. Нажимаем «Далее», затем «Подтвердить».
Возвращаемся на веб-страницу Юнисвапа и нажимаем «Свап» (1). Затем во всплывающем окне нажмите «Подтвердить» (2), чтобы выполнить транзакцию и подтверждаем транзакцию уже в кошельке.
Перед покупкой каких-либо токенов можно указать слиппедж обмена токенами, чтобы вы случайно не купили токены по другой цене. Если цена сильно поменяется в момент обмена, то транзакция не пройдет и токены вернутся вам обратно.
Растущие в цене токены имеют высокий спрос, а следовательно, совершая обмен при таком спросе, необходимо увеличивать допуск проскальзывания и увеличить стоимость транзакций, чтобы транзакция была обработана быстрее. Но не рекомендуем выставлять больше 5%, что может привести к проблемам с транзакцией из-за ботов фронтраннеров.
«Фронтраннеры» или боты-арбитражеры отслеживают мемпул на предмет появления в нем ожидающих подтверждения транзакций, которые могут содержать прибыльную сделку. Обычно они настроены для отслеживания определенного типа транзакций, например сделок на DEX или обновлений оракулов, и пытаются опередить их, используя предустановленный алгоритм.
Следующее, что мы видим — это Transaction deadline или Истечение срока действия транзакции. Функция времени указывает на срок, после которого транзакция больше не может быть выполнена. То есть, после истечения времени она отменится.
В общем, будьте с этим весьма осторожны.
Что можно еще делать с Metamask?
Теперь, когда вы знаете базовые основы Metamask, вы можете использовать все функции Ethereum, помимо обычного обмена токенами, отправки, вы также можете хранить предметы коллекционирования и невзаимозаменяемых токенов (NFT). Также подключение к аппаратным кошелькам Ledger и Trezor .
В Metamask есть еще возможность переключения между сетями, то есть, вы можете настроить кошелек таким образом, чтобы переключаться на другую сеть, помимо эфировской и тестовых, существует сеть Binance Smart Chain от биржи Binance и Heco-Chain от биржи Huobi. Они позволят по сути делать всё то же самое, что и в сети эфира, только уже в экосистеме бинанса или хуоби.
Как подключить Binance Smart Chain?
Теперь давайте подключимся к сети Binance Smart Chain через наш кошелек. Нам нужно получить доступ к настройкам, чтобы сделать для кошелька доступными ноды в сети Binance Smart Chain.
Выберите пункт «Настройки» из выпадающего меню.
На странице настроек найдите пункт «Сети».
Меню «Сети».
Нажимаем «Добавить сеть» в правом верхнем углу, чтобы добавить Binance Smart Chain вручную – она не подключена в MetaMask по умолчанию.
Вот параметры которые необходимо добавить, чтобы мы могли работать с основной сетью BSC:
- Имя сети — Smart Chain
- Новый RPC URL — https://bsc-dataseed.binance.org/
- ID сети: 56
- Символ: BNB
- URL блок-эксплорера: https://bscscan.com
Все данные указывайте очень внимательно, в ином случае, сеть просто не будет работать. На Heco-Chain от биржи Huobi. Там всё настраивается аналогичным образом.
После подключения вы можете перевести BinanceCoin (BNB) с Binance на скопированный адрес.
Важно! Для перевода с биржи используйте сеть BEP20!После этого ожидайте Ваши BNB в аккаунте Metamask! В сети Binance будет использоваться для оплаты со всеми операциями токен BNB. Здесь комиссии в разы дешевле, но всегда будьте с этим внимательны. Ну и взаимодействие с приложениями, которые запущены на Binance Smart Chain будут по сути аналогичны тем, как и в Ethereume. То есть, есть аналог юнисвапа, различным фармилкам, NFT платформы и многое другое.
Какие недостатки у Metamask?
1.Это то, что MetaMask хранит приватные ключи в браузере пользователя. Это менее безопасно, чем аппаратный или бумажный кошелек. Это разумный компромисс для простоты использования. Но по факту это просто посредник.
2. Внешние узлы — вместо того, чтобы быть полным узлом, он опирается на внешние узлы, которые иногда имеют простои, которые могут привести к прекращению работы MetaMask.
3. Высокие комиссии в сети эфира, сеть последнее время часто загружена, из-за чего происходит рост стоимости комиссий.
Инструкция по Фармингу токенов FNT
Оглавление
1. Скачивание и установка MetaMask.
2. Подключение кошелька MetaMask к Uniswap.
3. Приобретение токенов FNT через Uniswap.
4. Добавление ликвидности в пул ETH / FNT.
5. Общие сведения о фарминге токенов FNT.
6. Фарминг токенов FNT.
7. Вывод награды в токенах FNT.
8. Вывод своей доли в токенах UNI-V2.
1. Скачивание и установка MetaMask.
Перед началом работы, вам необходимо установить расширение MetaMask.
Внимание! Эта инструкция подходит исключительно для браузеров «Google Chrome» и «Mozilla Firefox» на ПК.1.1. Перейдите на официальный сайт MetaMask.io и скачайте расширение для вашего браузера.
1.2. Запустите расширение MetaMask и выберите то, что вам больше подходит: «Импорт существующего» или «Создание нового кошелька».
1.3. После успешного добавления / создания кошелька, вы увидите его в интерфейсе MetaMask.
1.4. Поздравляю! Теперь можно переходить к следующему шагу.
2. Подключение кошелька MetaMask к Uniswap.
2.1. Перейдите на сайт app.uniswap.org и нажмите кнопку «Connect Wallet».
2.2. В всплывающем меню «Connect to a wallet» выберите «MetaMask», после этого в окне «MetaMask Notification» выберите аккаунт, который вы хотите подключить к Uniswap и нажмите кнопку «Next».
2.3. Подтвердите подключение нажатием на кнопку «Connect».
2.4. После успешного подключения, вы увидите баланс и часть адреса своего кошелька в правом верхнем углу.
3. Приобретение токенов FNT через Uniswap.
3.1. Перейдите на сайт app.uniswap.org/#/swap и в поле с логотипом/надписью «FNT», введите количество токенов, которое бы вы хотели получить путем обмена на ETH. Затем нажмите на кнопки «Swap» — «Confirm Swap».
3.2. Теперь вам необходимо подтвердить обмен нажатием на кнопку «Confirm» в всплывающем окне «MetaMask Notification».
3.3. Ваша транзакция отправится в обработку и после ее подтверждения в сети Ethereum, вы получите уведомление о совершении успешного обмена ETH на токены FNT.
3.4. Теперь вы стали владельцем токенов FNT. Поздравляю!
Однако для их отображения в расширении «MetaMask», нужно проделать следующие действия:
- Откройте расширение «MetaMask» и нажмите на кнопку «Add Token».
- Перейдите на вкладку «Custom Token» и в поле «Token Contract Address» вставьте адрес смарт-контракта FNT: 0xdc5864ede28bd4405aa04d93e05a0531797d9d59. Нажмите на кнопку «Next».
- Нажмите на кнопку «Add Tokens» и снова откройте расширение «MetaMask». На аккаунте начнут отображаться токены FNT, хранящиеся на вашем адресе.
4. Добавление ликвидности в пул ETH / FNT.
4.1. Перейдите на страницу app.uniswap.org/#/pool/v2 и нажмите на кнопку «Add V2 Liquidity».
4.2. Нажмите на меню «Select a token».
4.3. Теперь необходимо в поле «Select a token» вставить адрес смарт-контракта FNT: 0xdc5864ede28bd4405aa04d93e05a0531797d9d59 и выбрать найденный токен FNT.
4.4. После успешного добавления токена FNT, вы увидите его отображение с логотипом и надписью.
Если вы впервые осуществляете добавление ликвидности в пул с токеном FNT, то вам необходимо получить одобрение, путем отправки транзакции на смарт-контракт Uniswap. Для этого нажмите «Approve FNT», а затем «Confirm», в всплывающем окне «MetaMask Notification».
После обработки транзакции и ее успешного подтверждения, вы получите следующее уведомление:
В дальнейшем вам больше не потребуется проходить данную процедуру.
4.5. Далее необходимо выбрать количество ETH / FNT, которое вы хотите добавить в пул ликвидности и после этого нажать на кнопку «Supply».
Обратите внимание, что ETH и FNT у вас должно быть в равном соотношении, иначе вы не сможете добавить ликвидность в пул.
Здесь вы можете увидеть информацию о текущих ценах и вашей будущей доле в пуле ETH / FNT.
4.6. На следующем этапе потребуется подтвердить добавление ликвидности в пул ETH / FNT, нажатием на кнопку «Confirm Supply».
Здесь можно увидеть, сколько вы получите UNI-V2 токенов, которые будут подтверждать ваше владение долей в пуле.
4.7. Далее подтвердите транзакцию в всплывающем окне «MetaMask Notification» с помощью кнопки «Confirm».
После обработки транзакции и ее успешного подтверждения, вы получите следующее уведомление:
Поздравляю! Вы успешно добавили ликвидность в пул ETH / FNT и стали владельцем LP токенов.
4.8. Перейдите на страницу app.uniswap.org/#/pool/v2 и лично убедитесь в этом.
Также вы можете зайти на Etherscan.io, перейти на страницу со своим адресом ERC-20 и в меню «Token» увидеть свои токены UNI-V2.
5. Общие сведения о фарминге токенов FNT.
Фарминг (от англ. «yield farming») — процесс получения прибыли за счет протоколов децентрализованных финансов (DeFi).
В Falcon Project фарминг позволяет получать вознаграждение в форме токенов FNT за участие в пуле ликвидности ETH / FNT на децентрализованном обмене Uniswap.
Для участия в фарминге FNT, вам необходимо иметь токены UNI-V2, которые будут подтверждать ваше владение долей в пуле ETH/FNT.
Подробнее о получении этих токенов написано в пункте №4. «Добавление ликвидности в пул ETH / FNT».
Вознаграждение:
— На всех участников фарминга FNT будет распределяться пул, размер которого будет динамически меняться.Каждый фермер получит возможность запросить полагающуюся ему часть токенов FNT, в зависимости от доли в пуле ETH / FNT, которой он владеет.
Получение вознаграждения:
— После отображения награды на falcon.finance, вы можете ее запросить (кнопка «Claim») на свой ERC-20 адрес.Увеличение доли:
— Если вы хотите увеличить свою долю на ферме falcon.finance, путем добавления дополнительных токенов UNI-V2, то вам необходимо для начала полностью вывести имеющуюся долю («пункт №8. «Вывод своей доли в токенах UNI-V2»), а затем заново запустить фарминг (пункт №6. «Фарминг токенов FNT»).Веб-сайт:
— Ферма FNT доступна только по адресу: falcon.finance.Будьте внимательны и остерегайтесь поддельных сайтов!
Адрес смарт-контракта фермы FNT:
— 0x8C8562686175b9C6fa9D42Be237d74e621D39bA4.Аудит смарт-контракта фермы FNT:
— Для подтверждения надежности и спокойствия фермеров, The Arcadia Group (известная компания в сфере разработки программного обеспечения для блокчейнов и безопасности) провела аудит смарт-контракта фермы FNT.Обеспечение безопасности — одна из приоритетных задач нашего проекта!