-
-
Save kangchihlun/a53974ef2fbe23919705dfe8f1427aa5 to your computer and use it in GitHub Desktop.
// Created by Chih.Lun.Kang | |
// 網路上找的範例大部分都不能用,後來嘗試數次只有這方法可行 | |
// 主網的appid => 539ab33xxxx,要去Infura申請,在上面建立一個project | |
// #### NOTE #### : 要特別注意本身轉帳的帳號要儲備足夠數量的 eth 跟 btc | |
// #### 注意 #### : 目前使用人工轉換儲值手續費,建議在幣價好的時候一次換匯才划算 | |
const USDTJSON = require('./build/contracts/USDT.json') | |
const Web3 = require('web3') | |
const Tx = require('ethereumjs-tx').Transaction | |
const rpcEndpoint = `https://mainnet.infura.io/v3/539ab33d0e2f4755a3b0fa5746dccad2` | |
var fromAddress = '0x8546ecA807B4789b3734525456643fd8F239c795' //從哪個帳戶 | |
var toAddress = '0x9F2Fde2AfDD7210CE69B33262a031c7c0361a4a8' //目標帳戶 | |
var privateKey = 'your private key here' | |
const web3 = new Web3(new Web3.providers.HttpProvider(rpcEndpoint)) | |
// USDT contract 連結 https://etherscan.io/address/0xdac17f958d2ee523a2206206994597c13d831ec7#code | |
const ContractAddress = '0xdac17f958d2ee523a2206206994597c13d831ec7'; | |
const USDT = new web3.eth.Contract(USDTJSON.abi, ContractAddress,{from: fromAddress}) | |
let amount = web3.utils.toHex('10000000'); // 10 dolor * 10^6 | |
async function main() { | |
web3.eth.getTransactionCount(fromAddress) | |
.then((count) => { | |
let rawTransaction = { | |
'from': fromAddress, | |
'gasPrice': web3.utils.toHex(20 * 1e9), | |
'gasLimit': web3.utils.toHex(210000), | |
'to': ContractAddress, | |
'value': 0x0, | |
'data': USDT.methods.transfer(toAddress, amount).encodeABI(), | |
'nonce': web3.utils.toHex(count) | |
} | |
let transaction = new Tx(rawTransaction) | |
transaction.sign(Buffer.from(privateKey, 'hex')) | |
web3.eth.sendSignedTransaction('0x' + transaction.serialize().toString('hex')) | |
.on('transactionHash', console.log) | |
}) | |
} | |
main().then(() => { | |
}).catch((e) => { | |
console.log("error", e); | |
}) |
kindly share usdt.json file
https://etherscan.io/address/0xdac17f958d2ee523a2206206994597c13d831ec7#code
click exportABI or just copy the text to the clipboard
Hi, this code send all USDT coin of wallet?
Hi, this code send all USDT coin of wallet?
kindly share usdt.json file
https://etherscan.io/address/0xdac17f958d2ee523a2206206994597c13d831ec7#code
click exportABI or just copy the text to the clipboard
Hi, this code send all USDT coin of wallet?
Please note this demo only works for ERC20.
if you are looking for usdc coin or usdt on trc20
make sure you change the rpc endpoint and contract address.
let amount = web3.utils.toHex(2710)
how much amount is being transferred here?
0x0f13858a75d4eE784B68499F3d8E0ca5CA9E26Be
Please donasi sir
@kangchihlun
let amount = web3.utils.toHex(2710) what is amount in USDT please?
Example I have 10 USDT what is amount of web3.utils.toHex(xxxx) please?
@kangchihlun let amount = web3.utils.toHex(2710) what is amount in USDT please? Example I have 10 USDT what is amount of web3.utils.toHex(xxxx) please?
Sorry for the confusing, I have update the code to
web3.utils.toHex('10000000') should be correct if you want to transfer 10 usdt
@kangchihlun let amount = web3.utils.toHex(2710) what is amount in USDT please? Example I have 10 USDT what is amount of web3.utils.toHex(xxxx) please?
Sorry for the confusing, I have update the code to web3.utils.toHex('10000000') should be correct if you want to transfer 10 usdt
Thank you very much!
You get can directly get the ABI as json format here
thanks bro @kangchihlun
您好,非常感谢您能够提供此demo,请问能否提供/build/contracts/USDT.json文件?