如何解决NodeJs 上的 BEP-20 代币交易
嗨,我对如何交易 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 包和 ...,但没有一个交易令牌。我只需要一个示例代码示例或一个有据可查的博客来告诉我该怎么做。任何人都可以帮助我吗?!
解决方法
为了使用 .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'
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。