Solidity

Uniswap 的 AmountoutMin(uint256) 是多少?

  • November 19, 2021

我想使用 Uniswap 路由器合約購買代幣。但是,我對 uniswap 的 swapExactETHForTokensSupportingFeeOnTransferTokens 中的 amountoutmin(unit256) 感到困惑。我閱讀了 unswap 文件,上面寫著“為不恢復交易而必須接收的最小輸出令牌數量”。請有人建議我應該在那裡寫什麼以及它的含義。謝謝你。

在此處輸入圖像描述

Uniswap 路由器是一個外圍合約,這意味著它不是絕對必要的。但是您仍然應該使用它,因為它可以保護您免受對您的交易的各種攻擊。

攻擊媒介之一是搶先交易。這意味著你進入你的交易,一些機器人在乙太坊記憶體池中註意到它(在它被執行之前),創建他們自己的交易,在你的交易之前執行,他們的交易使你的交易對你來說不那麼有利可圖。

為了防止這種攻擊,路由器提供了各種機制;其中之一就是amountoutmin。你可以將 X 數量的 Eth 發送到 Uniswap 並說“給我最大數量的代幣,以獲得我給你的這個數量的 Eth”,但這對於搶先攻擊來說是可疑的。因此,您還需要使用 指定最少需要多少個令牌amountoutmin。如果交易價格在您發送交易和執行交易之間變動過大,您的交易將被撤銷。

因此,您必須至少提前知道您想要獲得多少代幣。

引用自:https://ethereum.stackexchange.com/questions/90324