Skip to content

Instantly share code, notes, and snippets.

@taoblockchain
Created 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/1c2ac512df7ebfd08af20554628e3a07 to your computer and use it in GitHub Desktop.
Save taoblockchain/1c2ac512df7ebfd08af20554628e3a07 to your computer and use it in GitHub Desktop.
Tao TRC21
/*
* 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 trc21Abi = require('./TRC21.json')
const trc21 = new web3.eth.Contract(trc21Abi,
contractAddress, {gasPrice: 250000000, gas: 2000000 })
// check token balance
trc21.methods.balanceOf(holder).call()
.then((result) => {
console.log(result)
}).catch(e => console.log(e))
// Estimate fee for sending tokens
trc21.methods.estimateFee(250000000).call()
.then((result) => {
console.log(result)
}).catch(e => console.log(e))
const to = '0xf8ac9d5022853c5847ef75aea0104eed09e5f402' // e.g send tokens to this address
// trasfer token to new address, make sure you have enough TAO to pay tx fee
trc21.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