0

If send to Avax but not my Erc20 Token. Thank you for your help

  • First we get the url of the rcp.
  • Then we create an instance of web3.js.
  • Then with our private key you create an account.
  • We create an instance of our contract by passing it the abi and the address of the contract as parameters.
  • We estimate the gas with estimateGas passing it an object that indicates the function of the abi that is going to be used, the address of the contract, to whom it is going to be sent.
  • We create a transfer object
  • We obtain the balance to know the initial balance
  • We sign the transaction with our private key
  • We send the transaction
  • We get the bottom line

My code `

const transferToeknErc20 = async () => {
    const amount = '1000000000000000';
    const jsonInterface = [{"inputs":[],"stateMutability":....
    const contractAddress = '0x7B9...';
    const privateKeyWallet = '14f...';
    const chainId = 43113;
    const address_to = '0x86...';

  
    //NODE
    const NODE_URL = "https://api.avax-test.network/ext/bc/C/rpc";
    //WEB3
    const web3Global = new Web3( new Web3.providers.HttpProvider(NODE_URL));
    
    //Creamos una cuenta con la llave privada
    const account =  web3Global.eth.accounts.privateKeyToAccount(privateKeyWallet);
    
    //CONTRACT
    const contract = new web3Global.eth.Contract(jsonInterface, contractAddress);       
    //////////////////////////////////////////////////////////////////////////////
    
    let estimateGas = await web3Global.eth.estimateGas({
      value: '0x0', // Only tokens
      data: contract.methods.transfer(address_to, amount).encodeABI(),
      from: account.address,
      to: address_to
      });

    //////////////////////////////////////////////////////////////////////////////
    const transactionObject  = {
        value:'0x0',
        data:contract.methods.transfer(address_to, amount).encodeABI(),
      from: account.address,
      to: address_to,
      gas:web3Global.utils.toHex(Math.round(estimateGas * 1.10)),
      gasLimit:web3Global.utils.toHex(Math.round(estimateGas * 1.10)),
      chainId,
    }
    
    //get balanace 
    let balance = await contract.methods.balanceOf(account.address).call();
    console.log('balance init', balance)
    //Sing
    const signText = await web3Global.eth.accounts.signTransaction(transactionObject, privateKeyWallet);
    //Send Transaction
    const reciep = await web3Global.eth.sendSignedTransaction(signText.rawTransaction);
    //get balanace 
    balance = await contract.methods.balanceOf(account.address).call();
    console.log('balance end', balance)
    return null;
   ///////////////////////////////////////////////////////////////////////////////////////
}

`

0 Answers0