web3.py swapExactTokensForTokens 交易失败
Posted
技术标签:
【中文标题】web3.py swapExactTokensForTokens 交易失败【英文标题】:web3.py swapExactTokensForTokens failing transaction 【发布时间】:2021-05-29 21:49:16 【问题描述】:我正在尝试调用路由器合约的 swapExactTokensForTokens,我需要将 tokenA 交换为 tokenB。以下是交易代码:
router = '0x0000000'
abi = '["inputs":["internalType":"address","name":"_factory","type":"address",.... "stateMutability":"payable","type":"receive"]'
router_contract = w3.eth.contract(router, abi=abi)
tokenA = '0x000...'
tokenB = '0x000...'
path = [tokenA, tokenB]
txn = router_contract.functions.swapExactTokensForTokens(amount, min_amount, path, personal_wallet, (int(time()) +1000) ).buildTransaction(
'gas': 81000,
'gasPrice': w3.toWei('10', 'gwei'),
'nonce': w3.eth.get_transaction_count(personal_wallet),
)
我在交易中收到以下错误:
screenshot of the transaction
【问题讨论】:
【参考方案1】:更新:
当增加gas并在buildTransaction
中添加from
字段时,上面的代码可以正常工作。
【讨论】:
以上是关于web3.py swapExactTokensForTokens 交易失败的主要内容,如果未能解决你的问题,请参考以下文章
使用 web3.py 时出现 ContractLogicError