Перейти к основному контенту

Отправка токенов с помощью ethers.js

ETHERS.JS
ERC-20
ТОКЕНЫ
Beginner
Kim YongJun
6 апреля 2021 г.
3 минута прочтения

Отправка токена с помощью ethers.js (5.0)

Из этого руководства вы узнаете, как

  • Импортировать ethers.js
  • Перевести токен
  • Установить цену на газ в соответствии с загруженностью сети

Для начала

Для начала мы должны импортировать библиотеку ethers.js в наш javascript Подключите ethers.js(5.0)

Установка

/home/ricmoo> npm install --save ethers

ES6 в браузере

<script type="module">
  import { ethers } from "https://cdn.ethers.io/lib/ethers-5.0.esm.min.js"
  // Ваш код здесь...
</script>

ES3(UMD) в браузере

<script
  src="https://cdn.ethers.io/lib/ethers-5.0.umd.min.js"
  type="application/javascript"
></script>

Параметры

  1. contract_address: адрес контракта токена (адрес контракта необходим, когда токен, который вы хотите перевести, не является ether)
  2. send_token_amount: сумма, которую вы хотите отправить получателю
  3. to_address: адрес получателя
  4. send_account: адрес отправителя
  5. private_key: приватный ключ отправителя для подписания транзакции и фактической передачи токенов

Примечание

signTransaction(tx) удален, потому что sendTransaction() выполняет это внутренне.

Процедуры отправки

1. Подключение к сети (тестовой сети)

Установить провайдера (Infura)

Подключение к тестовой сети Ropsten

window.ethersProvider = new ethers.providers.InfuraProvider("ropsten")

2. Создать кошелек

let wallet = new ethers.Wallet(private_key)

3. Подключить кошелек к сети

let walletSigner = wallet.connect(window.ethersProvider)

4. Получить текущую цену на газ

window.ethersProvider.getGasPrice() // gasPrice

5. Определить транзакцию

Переменные, определенные ниже, зависят от send_token()

Параметры транзакции

  1. send_account: адрес отправителя токена
  2. to_address: адрес получателя токена
  3. send_token_amount: количество токенов для отправки
  4. gas_limit: лимит газа
  5. gas_price: цена на газ

О том, как это использовать, см. ниже

const tx = {
  from: send_account,
  to: to_address,
  value: ethers.utils.parseEther(send_token_amount),
  nonce: window.ethersProvider.getTransactionCount(send_account, "latest"),
  gasLimit: ethers.utils.hexlify(gas_limit), // 100000
  gasPrice: gas_price,
}

6. Перевод

walletSigner.sendTransaction(tx).then((transaction) => {
  console.dir(transaction)
  alert("Отправка завершена!")
})

Как это использовать

Успешно!

изображение успешно выполненной транзакции

send_token()

Последнее обновление страницы: 3 марта 2026 г.

Было ли это руководство полезным?