@lilla.herman
Для отправки токенов Ethereum с помощью web3.js, вам необходимо выполнить следующие шаги:
- Установите библиотеку web3.js, если она еще не установлена, используя npm:
- Импортируйте библиотеку web3.js в свой файл JavaScript:
1
|
const Web3 = require('web3');
|
- Подключитесь к Ethereum узлу, используя веб-провайдер. Веб-провайдер - это URL вашего узла Ethereum (например, Infura или локальное подключение):
1
|
const web3 = new Web3('https://mainnet.infura.io/v3/YOUR-PROJECT-ID');
|
- Определите адрес контракта токена и его ABI (интерфейс приложения) - это команды, которые определяют функции контракта:
1
2
|
const tokenAddress = 'TOKEN-ADDRESS';
const tokenABI = TOKEN-ABI;
|
- Создайте экземпляр контракта токена, используя адрес и ABI:
1
|
const tokenContract = new web3.eth.Contract(tokenABI, tokenAddress);
|
- Определите адрес отправителя, адрес получателя и количество токенов для отправки:
1
2
3
|
const senderAddress = 'SENDER-ADDRESS';
const recipientAddress = 'RECIPIENT-ADDRESS';
const amount = '1'; // Количество токенов, которые нужно отправить
|
- Создайте транзакцию для вызова функции transfer контракта токена:
1
2
3
4
5
6
7
8
|
const transferData = tokenContract.methods.transfer(recipientAddress, amount).encodeABI();
const transactionData = {
from: senderAddress,
to: tokenAddress,
gas: 200000, // Лимит газа для транзакции
data: transferData
};
|
- Отправьте транзакцию вызова функции контракта на блокчейн:
1
2
3
4
5
6
7
|
web3.eth.sendTransaction(transactionData, (error, transactionHash) => {
if (error) {
console.error('Error:', error);
} else {
console.log('Transaction hash:', transactionHash);
}
});
|
Теперь, когда код будет выполнен, токены Ethereum будут отправлены с адреса отправителя на адрес получателя.