如何解决PancakeSwap 合约 / 将代币换成另一个代币
我想通过 web3 用 pancakeswap testnet contarct 将一些 testnet bep20 令牌交换到 busd(bep20)。 我查看了合同,但我不明白“amountOutMin”和“path”是什么意思。 我怎样才能用这个合同交换它们?请举例说明!
Pancakeswap 测试网合约
function swapExactTokensForTokens(
uint amountIn,uint amountOutMin,address[] calldata path,address to,uint deadline
) external virtual override ensure(deadline) returns (uint[] memory amounts) {
amounts = PancakeLibrary.getAmountsOut(factory,amountIn,path);
require(amounts[amounts.length - 1] >= amountOutMin,'PancakeRouter: INSUFFICIENT_OUTPUT_AMOUNT');
TransferHelper.safeTransferFrom(
path[0],msg.sender,PancakeLibrary.pairFor(factory,path[0],path[1]),amounts[0]
);
_swap(amounts,path,to);
}
谢谢!
解决方法
amountOutMin
是您希望收到的最低金额。如果金额小于该金额,则交易将被还原。这就像在 PancakeSwap 上设置滑点。
Path 是交换所采用的路径。如果有直接路径,例如令牌 -> WBNB,路径就是 ["TOKEN_CONTRACT_ADDRESS","WBNB_CONTRACT_ADDRESS"]
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。