嗨,我对如何交易 BEP-20 代币(例如:Binance-Peg BUSD-T)感到困惑。我只是使用以下代码在 Binance Smart Chain 中交易 bnb:
const tx = await web3.eth.accounts.signTransaction({
to: '0xB1455f4721b32390f4b65F86D2Cd50e74FaD7A99',
value: '500000000000000',
gas: 2000000
}, 'SENDER_PRIVATE_KEY');
const transaction = await web3.eth.sendSignedTransaction(tx.rawTransaction);
而且它工作得很好。但我只是做任何事情来交易令牌,例如我使用 web3.eth.Contract(abi, contract_addr) 然后
await contract.methods.transfer(toAddress, '500000000000000000').send({
from: '0xF9FF794700224fc9a1D6a30eb2A90d11eA1D82D1'
});
或者使用 ethereumjs-tx 包和 ...,但没有一个交易令牌。我只需要一个示例代码示例或一个有据可查的博客来告诉我该怎么做。任何人都可以帮助我吗?!
答案 0 :(得分:0)
为了使用 .send({from: ...})
方法,您需要
在您的提供商上解锁 from
帐户。
或
将其私钥添加到 web3 帐户钱包 (docs)
解锁的提供商帐户
这种方法主要用于在默认情况下为某些帐户提供资金和解锁的本地提供商(例如 Ganache)。
在生产供应商上保留未锁定帐户是不明智的,因为任何查询供应商的人都可以发送交易。
Web3 帐户钱包
您需要传递生成 from
地址的私钥。
web3.eth.accounts.wallet.add(privateKey);
然后你可以使用.send({from: ...})
方法
await contract.methods.transfer(toAddress, '500000000000000000').send({
from: '0xF9FF794700224fc9a1D6a30eb2A90d11eA1D82D1'
});