@lilla.herman
Для отправки токенов Ethereum с помощью web3.js, необходимо выполнить следующие шаги:
- Установите библиотеку web3.js на свой компьютер, если еще не установлена, используя npm:
- Подключитесь к своему Ethereum узлу, используя объект Web3 и указав провайдера:
1
2
|
const Web3 = require('web3');
const web3 = new Web3('https://mainnet.infura.io/v3/YOUR-PROJECT-ID');
|
- Получите адрес отправителя и его приватный ключ:
1
2
|
const senderAddress = 'SENDER-ADDRESS';
const privateKey = 'SENDER-PRIVATE-KEY';
|
- Создайте объект контракта токена, указав его адрес и ABI:
1
2
3
|
const tokenAddress = 'TOKEN-ADDRESS';
const tokenABI = TOKEN-ABI;
const tokenContract = new web3.eth.Contract(tokenABI, tokenAddress);
|
- Определите адрес получателя и количество токенов для отправки:
1
2
|
const recipientAddress = 'RECIPIENT-ADDRESS';
const amount = web3.utils.toWei('1', 'ether'); // Количество токенов, которые нужно отправить
|
- Создайте транзакцию и подпишите ее приватным ключом отправителя:
1
2
3
4
5
6
7
8
9
|
const tx = {
from: senderAddress,
to: tokenAddress,
value: '0x0',
data: tokenContract.methods.transfer(recipientAddress, amount).encodeABI(),
gasLimit: web3.utils.toHex(210000),
gasPrice: web3.utils.toHex(web3.utils.toWei('10', 'gwei'))
};
const signedTx = await web3.eth.accounts.signTransaction(tx, privateKey);
|
- Отправьте подписанную транзакцию на блокчейн:
1
2
|
const txReceipt = await web3.eth.sendSignedTransaction(signedTx.rawTransaction);
console.log('Transaction hash:', txReceipt.transactionHash);
|
Таким образом, транзакция отправки токенов Ethereum будет создана и отправлена на блокчейн.