Skip to content

Instantly share code, notes, and snippets.

@taoblockchain
Last active September 16, 2020 14:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save taoblockchain/998a1fc76ceed4fa80b5f9116cef147d to your computer and use it in GitHub Desktop.
Save taoblockchain/998a1fc76ceed4fa80b5f9116cef147d to your computer and use it in GitHub Desktop.
Tao TRC20
/*
* RPC: https://rpc.tao.network mainnet, https://rpc.testnet.tao.network testnet
* chainId: 558 mainnet, 559 testnet
*/
const Web3 = require('web3')
const rpc = 'https://rpc.testnet.tao.network'
const chainId = 559
const pkey = 'YOUR_PKEY' // token holder pkey
const contractAddress = 'TOKEN_CONTRACT_ADDRESS' // token contract address
const web3 = new Web3(rpc)
const account = web3.eth.accounts.privateKeyToAccount(pkey)
const holder = account.address
web3.eth.accounts.wallet.add(account)
web3.eth.defaultAccount = holder
const trc20Abi = require('./TRC20.json')
const trc20 = new web3.eth.Contract(trc20Abi,
contractAddress, {gasPrice: 250000000, gas: 2000000 })
// check token balance
trc20.methods.balanceOf(holder).call()
.then((result) => {
console.log(result)
}).catch(e => console.log(e))
const to = '0xf8ac9d5022853c5847ef75aea0104eed09e5f402' // e.g send tokens to this address
// Estimate fee for sending tokens
trc20.methods.transfer(to, '500000000000000000000').estimateGas({
from: holder
})
.then((result) => {
console.log(result)
}).catch(e => console.log(e))
// trasfer token to new address, make sure you have enough TAO to pay tx fee
trc20.methods.transfer(to, '500000000000000000000').send({
from: holder,
gas: 2000000,
gasPrice: 250000000,
chainId: chainId
})
.then((result) => {
console.log(result)
}).catch(e => console.log(e))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment