调用swapExactTokensForTokens如何节约gas

登链社区问答 2022-01-14 15:45:24 阅读数:128

调用 gas 节约 swapexacttokensfortokens
function buy(uint amountIn,uint amountOut,address token_address) external isOwner{ address[] memory path = new address[](2); path[0] = address(0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd); path[1] = address(token_address); Irouter(0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3).swapExactTokensForTokens(amountIn,amountOut,path,address(this),block.timestamp+15); }

这是我写的购买token的函数,调用时要花费13万gas,但我观察到像1inch的交换只花费了11万gas,还有的合约只花费10万gas左右,这里还有更底层节约gas的相关方法吗,他们是如何实现节约gas的?比如调用pair合约的swap方法实现?




采纳答案1:

一般的套利/交易是直接和交易对进行兑换,而不是借助路由, 你这种代码是路由中转,自然多了一层手续费,其次要做的更省,就得从你自己的合约入参或者合约逻辑去节省gas...


版权声明:本文为[登链社区问答]所创,转载请带上原文链接,感谢。 https://learnblockchain.cn/question/2999