Перейти до основного вмісту

Надсилання токенів за допомогою ethers.js

ETHERS.JS
ERC-20
ТОКЕНИ
Початківець
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() // ціна на газ

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 р.

Цей посібник був корисним?