How can I make an erc20 token transfer in node, I know to transfer eth is like this for using ethers. Lib:
let privateKey = "0x3141592653589793238462643383279502884197169399375105820974944592"
let wallet = new ethers.Wallet(privateKey)
console.log(wallet.address)
// "0x7357589f8e367c2C31F51242fB77B350A11830F3"
// All properties are optional
let transaction = {
nonce: 0,
gasLimit: 21000,
gasPrice: utils.bigNumberify("20000000000"),
to: "0x88a5C2d9919e46F883EB62F7b8Dd9d0CC45bc290",
// ... or supports ENS names
// to: "ricmoo.firefly.eth",
value: utils.parseEther("1.0"),
data: "0x",
// 这可确保无法在不同网络上重复广播
chainId: ethers.utils.getNetwork('homestead').chainId
}
let signPromise = wallet.sign(transaction)
signPromise.then((signedTransaction) => {
console.log(signedTransaction);
// "0xf86c808504a817c8008252089488a5c2d9919e46f883eb62f7b8dd9d0cc45bc2
// 90880de0b6b3a76400008025a05e766fa4bbb395108dc250ec66c2f88355d240
// acdc47ab5dfaad46bcf63f2a34a05b2cb6290fd8ff801d07f6767df63c1c3da7
// a7b83b53cd6cea3d3075ef9597d5"
// 现在可以将其发送到以太坊网络
let provider = ethers.getDefaultProvider()
provider.sendTransaction(signedTransaction).then((tx) => {
console.log(tx);
// {
// // These will match the above values (excluded properties are zero)
// "nonce", "gasLimit", "gasPrice", "to", "value", "data", "chainId"
//
// // These will now be present
// "from", "hash", "r", "s", "v"
// }
// Hash:
});
})