1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| const transferERC20 = async () => { const file = await readFile('./erc20/build/contracts/MyToken.json',{encoding: 'utf8'}) ; const obj = JSON.parse(file); const abi = obj.abi; const contractAddress = '0x13f60906DE3758F025cdA95899d3742DC60C24A4'; const contract = new ethers.Contract(contractAddress, abi, provider); const decimals = await contract.decimals(); const name = await contract.name(); const totalSupply = await contract.totalSupply(); const symbol = await contract.symbol(); console.log('name: ',name); console.log('symbol: ',symbol) ; console.log('decimals: ',decimals) ; console.log('totalSupply: ',ethers.utils.formatUnits(totalSupply, decimals)) ; const contractWithSigner = contract.connect(wallet); const amount = '10'; const numberOfTokens = ethers.utils.parseUnits(amount, decimals); const tx = await contractWithSigner.transfer('0xbe79D5B66A5D44607F91E312ec5E35b8c92db5bf', numberOfTokens); await tx.wait(); console.log('hash',tx.hash);
const _balance = await contract.balanceOf('0xbe79D5B66A5D44607F91E312ec5E35b8c92db5bf'); const balance = ethers.utils.formatUnits(_balance, decimals); console.log('balance: ',balance, symbol)
};
transferERC20().catch(console.log);
|