0

嗨,我只是对如何交易 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 包和...,但它们都没有交易令牌。我只需要一个示例代码示例或一个有据可查的博客来告诉我应该做什么。任何人都可以帮助我吗?!

4

1 回答 1

1

为了使用该.send({from: ...})方法,您需要

  • 在您from的提供商处解锁帐户。

    或者

  • 将其私钥添加到 web3 帐户钱包(文档


解锁的提供商帐户

这种方法主要用于默认为某些帐户提供资金和解锁的本地提供商(例如 Ganache)。

在生产提供商上保留未锁定帐户是不明智的,因为任何查询提供商的人都可以发送交易。


Web3 账户钱包

from您需要传递生成地址的私钥。

web3.eth.accounts.wallet.add(privateKey);

然后你可以使用该.send({from: ...})方法

await contract.methods.transfer(toAddress, '500000000000000000').send({ 
  from: '0xF9FF794700224fc9a1D6a30eb2A90d11eA1D82D1'
});
于 2021-06-14T08:58:10.810 回答