Передача токена TRC-20 с помощью TronLink

пожалуйста, я пытаюсь интегрировать отправку любого токена trc20 с помощью tronlink, нажав кнопку на моем веб-сайте. Мне удалось отправить TRX, используя приведенный ниже код JavaScript, но я хочу иметь возможность отправлять trc-20, как USDT, любая помощь будет очень признательна. Спасибо

1 ответ

TRC20 на самом деле являются смарт-контрактами. Ссылка tronscan USDT Чтобы перевести TRC20 с вашего адреса на другой адрес, вы будете вызывать функцию перевода TRC20, ниже приведен фрагмент кода Tron USDT.

      function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

Документация по взаимодействию контрактов TronWeb TRC20 . Вы можете использовать функцию triggerSmartContract от tronWeb для создания необработанной транзакции, подписи и трансляции.

  1. создать необработанную транзакцию
      var senderAddress = tronweb.defaultAddress.base58;
var receiverAddress = "TV3nb5HYFe2xBEmyb3ETe93UGkjAhWyzrs"; 
var amount = 100;
var parameter = [{type:'address',value:receiverAddress},{type:'uint256',value:amount}]
var options = {
  feeLimit:100000000                    
}

const transactionObject = await tronWeb.transactionBuilder.triggerSmartContract(
    tronweb.address.toHex(contractAddress), 
    "transfer(address,uint256)", 
    options, 
    parameter,
    tronweb.address.toHex(senderAddress)
);

Примечание: все адреса имеют формат base58, нам нужно преобразовать его в шестнадцатеричный формат, используя tronweb.address.toHex(address)в transactionObject. parameterпеременная, где мы устанавливаем адрес получателя и сумму.

  1. Знак
      var signedTransaction = await tronWeb.trx.sign(transactionObject.transaction);
  1. Транслировать
      var broadcastTransaction = await tronWeb.trx.sendRawTransaction(signedTransaction);
console.log(broadcastTransaction); 
Другие вопросы по тегам