我想通过 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);
}
谢谢!
答案 0 :(得分:0)
amountOutMin
是您希望收到的最低金额。如果金额小于该金额,则交易将被还原。这就像在 PancakeSwap 上设置滑点。
Path 是交换所采用的路径。如果有直接路径,例如令牌 -> WBNB,路径就是 ["TOKEN_CONTRACT_ADDRESS", "WBNB_CONTRACT_ADDRESS"]
。