June 27, 2022

Как интегрировать кошелек Web3 в ReactJS

Итак, прежде чем начать, есть некоторые моменты, которые нам нужно понять.

ℹ️Web3 Wallet — это в основном децентрализованный кошелек, который поддерживает ваш баланс и закрытый ключ для подписи (аутентификации).

Мы можем использовать эти популярные кошельки Web3:
🔸Metamask
🔸Coinbase Wallet
🔸Binance Wallet
🔸Bitkeep Wallet
🔸любой кошелек, поддерживающий функцию Wallet Connect.

Что научимся интегрировать:
🔹коннект кошелька и просмотр баланса
🔹отображение в ETH/BNB/MATIC)
🔹взаимодействие со смарт-контрактом и чтения/записи.
🔹просмотр лога смарт-контракта

Мы создаем простой проект ReactJS с помощью этой команды

npx create-react-app sample-web3

Мы создаем смарт-контракт на Rinkeby с переменной и геттером, сеттером и событием для отправки после изменения переменной.

Нужно использовать ethers.js библиотеку для подключения сервисов блокчейна к ReactJS.

sudo npm install ethers

Подключение кошелька Web3 и просмотр баланса


Во-первых, мы должны проверить, включен ли внедренный Web3.

Для запроса на подключение кошелька

Для получения баланса

Перевод в нативные монеты (ETH/BNB/MATIC)

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

Взаимодействие со смарт-контрактом и вызовом методов чтения/записи

  • Сначала мы должны создать экземпляр.
  • Получить ABI из проводника (перейдите на вкладку контракта), как показано на изображении ниже.

Открытый метод

Напишите открытый метод (для метода записи мы создадим экземпляр с закрытым ключом подписывающей стороны)

Вызываем метод записи

Просмотр событий смарт-контракта

На этом интеграция закончена.