我在bsc-testnet,钱包里有0.3 WBNB,我试图用函数swapExactTokensForTokens()将0.1 WBNB换成USDT
Token1 = '0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd'
Token2 = '0xeD24FC36d5Ee211Ea25A80239Fb8C4Cfd80f12Ee'
Pancakerouter = interface.IPancakeRouter01('0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3')
Executeswap = Pancakerouter.swapExactTokensForTokens(
Web3.toWei(0.1, "ether"),
0,
[Token1,Token2],
account,
int(time.time()) + 10 * 600,
{"from": account, "gas_limit": 10000000, "allow_revert": True},
)
Executeswap.wait(1)这是我的错误和tx:VirtualMachineError: revert: TransferHelper::transferFrom: transferFrom failed https://testnet.bscscan.com/tx/0x6c8a7b802863afc92f61195dc952de1cb21d9b65b6df4205d5ad2e4a6813ed36
发布于 2023-02-19 00:10:46
你不会批准路由器花你的WBNB。我从来没有使用过brownie (或者在python,tbf‘中做了一些非常复杂的事情),所以我不知道如何准确地编写代码,但是想法是您想要向WBNB合同发送一个approve(routerAddress, amountYouWantToSwap)事务。
https://ethereum.stackexchange.com/questions/145175
复制相似问题