Transactions

了解前行。為什麼我的交易失敗了?(PancakeSwap V2)

  • January 5, 2022

我正在對前端交易進行一些研究。我的目標是在 PancakeSwap 中在添加流動性的同一區塊中購買代幣。

讓我們以這個令牌為例:https ://bscscan.com/token/0x195d3576bbf6504d8eac5b614dcb756e32b911d5

它在區塊https://bscscan.com/block/7699663上啟動,單筆交易在 PancakeSwap V2 路由器上添加了 20 BNB LP ( https://bscscan.com/tx/0x48b3b3b9dafcaff0f77e4c40abd80afcc47a20b19db23d9dc96a9ff326446a8c )。

我將該交易用作我的掉期訂單的觸發器(僅 0.01 BNB,10 gwei)https://bscscan.com/tx/0xa66fbba13749cbd3005957d257da22e5afb07cfc007fe790976cda284a64c1f0失敗。我想明白為什麼。

也許我下訂單太早了,但那是目標,對吧?那我應該如何估計什麼時候下訂單呢?

我也可以認為問題是汽油價格。我的 gas 價格是 10 gwei,增加流動性的 tx 價格是 5 gwei。這是否意味著我的 tx 將首先得到處理,因此會因為還沒有足夠的流動性而失敗?

如果這個解釋是正確的,那麼以與流動性相同的 gas 價格(或者可能少 1 個 gwei?)進行這項交易會保證它會得到處理嗎?在速度和成功率之間取得良好折衷的最佳方法是什麼?

從這個小實驗中,我可以想像檢測到一個待處理的交易(具有較低或平均的 gas 價格)然後送出一個 x2-3 gas 價格的等價交換可能會導致我的交易首先被處理,對吧?

這不是 DEX 的一個非常重要的缺陷嗎?如何解決這個問題?

謝謝!

區塊中的交易沒有預定義的順序。唯一的要求是來自同一地址的交易按交易的隨機數排序,但來自不同地址的交易可以按任何順序排列。

在乙太坊主網中,礦工將按汽油價格排序,因為他們將獲得更大的獎勵。但並非總是如此,搜尋“Miner Extractable Value”和Flashbot項目,有時礦工會通過包含一組交易獲得更大的獎勵。

不幸的是,我不知道在像 BSC 這樣的 PoA 網路中可以使用的解決方案。

交易失敗,因為由於 gas 價格較高且位於同一區塊,它是在流動性添加之前執行的。我將隨機數與塊位置混淆了。

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