比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > 火星幣 > Info

SWAP:MultiSwap:如何用 Solidity 在多個 DEX 中套利_Stackswap

Author:

Time:1900/1/1 0:00:00

譯者:翻譯小組

校對:Tiny熊

如果你想獲得最大的套利,可以需要在一次交易里在DEX(去中心化交易所)之間兌換代幣。或者你想定期進行的某些兌換中節省Gas。或者你有在多個DEX之間進行定制的兌換場景,當然,也許你也可以僅僅是學習。

無論你是什么原因,我們試著做一個MultiSwap,MultiSwap將結合多個交易所到一個合約中的進行交易。它看起來像這樣:

在Bancor上用ETH購買BNT。

在SushiSwap上賣出BNT換取INJ。

在Uniswap3上賣出INJ換取DAI。

那么,我們如何才能實現這一目標?

套利備忘錄

先手動操作

首先,我們想手動嘗試所有的交易。由于是測試階段,我們將在一個測試網上進行,這個測試網需要滿足我們想要使用的每個協議部署了合約。在我們的案例中,這剛好是在Ropsten網絡。

如果你想交易的代幣在測試網上不存在,可以通過Remix自己部署一個。

如果DEX上的代幣流動池在測試網上還不存在,那就自己創建一下。

1

function_getPathForBancor()privatepurereturns(addressmemory){addressmemorypath=newaddress(3"]memorypath=newaddress=BANCOR_ETH_ADDRESS;path=BANCOR_ETHBNT_POOL;path=BNT;returnpath;}

幣安將支持Decred(DCR)及MultiversX(EGLD)網絡升級及硬分叉:金色財經報道,幣安發布公告表示,將支持Decred(DCR)及MultiversX(EGLD)的網絡升級及硬分叉,具體安排如下:幣安預計將于東八區時間2023年08月29日22:00暫停DCR代幣的充值、提現業務,以支持Decred(DCR)將于 Decred 區塊高度 794,368 進行的網絡升級及硬分叉。

幣安預計將于東八區時間2023年08月30日22:45暫停EGLD代幣的充值、提現業務,以支持MultiversX(EGLD)將于 MultiversX epoch 1,126 時期(預計東八區時間2023年08月30日23:45)進行的網絡升級。[2023/8/25 10:02:28]

我們在Banchor上交易的功能簡單明了。從前面例子交易中獲得了交易路徑和Bancor網絡的地址。

2.在Sushi上交易

IUniswapV2Router02privateconstantsushiRouter=IUniswapV2Router02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);addressprivateconstantINJ=0x9108Ab1bb7D054a3C1Cd62329668536f925397e5;function_tradeOnSushi(uint256amountIn,uint256amountOutMin,uint256deadline)private{addressrecipient=address(this);sushiRouter

Multichain:Moonbeam和Moonriver已暫停跨鏈橋:8月2日消息,跨鏈路由協議Multichain發推表示,已暫停Moonbeam和Moonriver跨鏈橋,待鏈主網恢復交易后可安全跨鏈。

此前消息,Nomad跨鏈橋遭攻擊,損失或達1.65億美元。[2022/8/2 2:52:32]

function_getPathForSushiSwap()privatepurereturns(addressmemory){addressmemorypath=newaddress(2"]memorypath=newaddress=BNT;path=INJ;returnpath;}

然后我們使用swapExactTokensForTokens將BNT兌換到INJ。兌換路徑由代幣組成。相關的地址可以從前面的交易例子中獲得。

3.在Uniswap上交易

IUniswapRouterprivateconstantuniswapRouter=IUniswapRouter(0xE592427A0AEce92De3Edee1F18E0157C05861564);addressprivateconstantDAI=0xaD6D458402F60fD3Bd25163575031ACDce07538D;function_tradeOnUniswap(uint256amountIn,uint256amountOutMin,uint256deadline)private{addresstokenIn=INJ;addresstokenOut=DAI;uint24fee=3000;addressrecipient=msg

Multicoin合伙人Mable宣布加入STEPN任首席營收官:5月7日消息,Multicoin Capital合伙人Mable Jiang發布推特表示, 她將離開Multicoin Capital,并加入STEPN擔任首席營收官。

Mable表示,“STEPN正在讓數千名用戶加入Web3,其中許多人從未體驗過Web3,由于STEPN的簡單上手流程,他們中的許多人現在擁有了他們的第一個錢包、第一次交易經驗和第一次持有NFT ,我相信我們正處于歷史的拐角處,我們看到了第一個Web3 “殺手級應用”的興起。”[2022/5/7 2:56:24]

4.集合在一個交易里

我們還需要批準SushiSwap合約來使用BNT,批準Uniswap合約來使用INJ。在部署時只做一次會更省力,所以可以把它放在構造函數中:

constructor(){IERC20(BNT)

現在我們有了需要的一切,創建一個multiSwap函數:

functionmultiSwap(uint256deadline,uint256amountOutMinUniswap)externalpayable{uint256amountOutMinBancor=1;uint256amountOutMinSushiSwap=1;_tradeOnBancor(msg

如你所見,現在兌換代幣很容易。對于Bancor和SushiSwap,我們不關心我們收到多少代幣,所以我們把最小值設為1。唯一重要的是我們在最后一次兌換中收到多少DAI代幣。這個值從外部傳來,作為UNIX時間戳的最后交易期限也是類似。如果你不關心交易何時執行,可以傳遞一個很高的截止時間戳。

Multicoin聯合創始人:未來投資重點將集中在區塊鏈金融和用戶應用:10月27日~10月28日,火幣七周年峰會在線上舉行,此次峰會以“無限未來——2020年 區塊鏈大航海時代”為主題,邀請業界精英共同論道行業發展。在本次峰會“風吹幡動,數字資產價值邏輯的變遷與洞察”板塊中,Multicoin聯合創始人Kyle Samani發表了主題演講,他表示,去中心化交易所領域將會出現新一輪的投資機遇,它們原生于加密領域,而且不受外界因素的約束和影響,下一波風險投資的機會,將出現在區塊鏈底層應用基礎架構和應用程序上。在接下來一輪投資機遇中,Multicoin的投資重點將集中在區塊鏈金融領域和用戶應用層面。[2020/10/27]

但是如何獲得一個合理的amountOutMinUniswap值呢?為了獲得它,我們可以創建第二個函數,只作為視圖函數來調用。

//meanttobecalledasviewfunctionfunctionmultiSwapPreview()externalpayablereturns(uint256){uint256daiBalanceUserBeforeTrade=IERC20(DAI)

但是請注意,我們沒有把它聲明為視圖函數,因為它使用非視圖函數來計算結果,所以不可能將它本身聲明為一個視圖函數。

我們沒有在鏈上調用這個函數。它仍然是作為一個視圖函數來調用的,例如在前端使用Web3的call()功能來讀取結果。

現在可以在我們的前端調用multiSwapPreview,為了增加交易不被退回的機會,可以將收到的DAI的估計金額減少一點。

動態 | MultiVAC:已在分片技術獲得了“突破”:據cointelegraph報道,根據11月5日的新聞稿,區塊鏈平臺MultiVAC聲稱已經在區塊鏈擴容技術分片(sharding)中獲得了“突破”。MultiVAC報告稱使用64個分片實現了每秒30784次交易(TPS)。雖然所使用的所有分片的交易總量在其峰值時超過30K,但單個分片達到533 TPS。MultiVAC還在新聞稿中聲稱,他們的“全維分片擴展解決方案”或可用于大規模商業應用,以及低性能計算機上的加密挖掘。[2018/11/10]

constestimatedDAI=(awaitmyContract.multiSwapPreview({value:ethAmount}).call());constamountOutMinUniswap=estimatedDAI*0.96;

現在我們只需要一筆交易就可以完成整個兌換。

多重兌換ethscan

你可以在這里找到一個完全可行的交易代碼。如果你在測試網掌握了它,就可以在主網上重復這個過程。如果你不想花額外的ETH進行手工交易,你可以在提交任何東西之前檢查交易數據和合約地址,因為你需要改變的就是合約地址。

本翻譯由CellETF贊助支持。

來源:https://github.com/lbc-team/Pioneer

參考資料

翻譯小組:https://learnblockchain.cn/people/412

Tiny熊:https://learnblockchain.cn/people/15

BNT:https://etherscan.io/token/0x1f573d6fb3f13d689ff844b4ce37794d79a7ff1c

INJ:https://etherscan.io/token/0xe28b3b32b6c345a34ff64674606124dd5aceca30

DAI:https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f

Banchor:https://app.bancor.network/eth/swap?from=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE&to;=0xF35cCfbcE1228014F66809EDaFCDB836BFE388f5

Etherscan交易:https://ropsten.etherscan.io/tx/0x21b95960b1a7c832c91e705390420edf3faa35b18469a8bc517056d88af9634e

文檔:https://docs.bancor.network/developer-quick-start/trading-with-bancor#trading-from-your-smart-contract

SushiSwap:https://app.sushi.com/swap?inputCurrency=0x9108Ab1bb7D054a3C1Cd62329668536f925397e5&outputCurrency;=0xF35cCfbcE1228014F66809EDaFCDB836BFE388f5

Etherscan交易:https://ropsten.etherscan.io/tx/0x727301c32fcdbb29e14203610b26c7ab7f44f5d940057c2c39ecc0ae9e919c0f

這里:https://learnblockchain.cn/article/2580

Uniswap:https://app.uniswap.org/#/swap

Etherscan:https://ropsten.etherscan.io/tx/0xc23e6efa4c95747cb1421b582b1d29ce1ae1a529f84c28a94f74536997358262

交易:https://ropsten.etherscan.io/tx/0x727301c32fcdbb29e14203610b26c7ab7f44f5d940057c2c39ecc0ae9e919c0f

這里:https://learnblockchain.cn/article/2580

swapExactTokensForTokens:https://docs.uniswap.org/protocol/V2/reference/smart-contracts/router-02#swapexacttokensfortokens

視圖函數:https://learnblockchain.cn/docs/solidity/contracts.html#view

call():https://web3js.readthedocs.io/en/v1.3.4/web3-eth-contract.html#methods-mymethod-call

一筆交易:https://ropsten.etherscan.io/tx/0xba44787781aac57b462ff7d4a9781506553a4a57e7339070e76eb5ba544394f0

這里:https://gist.github.com/gorgos/14fa5f932fc697fd8aa3c223856fce7b

CellETF:https://celletf.io/?utm_souce=learnblockchain

免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。

本文來源于非小號媒體平臺:

登鏈社區

現已在非小號資訊平臺發布105篇作品,

非小號開放平臺歡迎幣圈作者入駐

入駐指南:

/apply_guide/

本文網址:

/news/10318791.html

免責聲明:

1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險

2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場

上一篇:

每周編輯精選WeeklyEditors'Picks

Tags:SWAPTPSMULTIULTIStackswaptps幣行情MULTI價格MultiPlanetary Inus

火星幣
MEX:MEXC關於上線BABY杠桿交易、持倉PoS服務及API交易功能的公告_MEXC Token

尊敬的用戶: 為滿足用戶的多樣化交易需求,MEXC現已上線BABY杠桿交易、API交易及持倉PoS服務.

1900/1/1 0:00:00
OIN:KuCoin上線Balancer (BAL)!_kucoin交易平臺官網

親愛的KuCoin用戶:我們很高興地宣布,KuCoin將上線Balancer(BAL)項目并支持交易對BAL/USDT,BAL/BTC和BAL/ETH.

1900/1/1 0:00:00
TRA:TRAVA.FINANCE (TRAVA)首發上線BitMart_bitmart手機客戶端下載

親愛的BitMart用戶:BitMart將于2021年9月10日首發上線代幣TRAVA.FINANCE(TRAVA)。屆時將開通TRAVA/USDT交易對.

1900/1/1 0:00:00
ULT:跨鏈互操作協議 deBridge 完成 550 萬美元種子輪融資,ParaFi Capital 領投_MULTI

鏈聞消息,跨鏈互操作協議deBridge完成550萬美元融資,ParaFiCapital領投,AnimocaBrands、HuobiVentures、Lemniscap、Crypto.comCa.

1900/1/1 0:00:00
EOS:關于WBF上線CGG的公告_DDS Store

尊敬的用戶: WBF將在開放區玩賺板塊上線CGG/USDT交易對,具體上線時間如下:充值時間暫不開啟提幣時間:2021/9/319:00交易時間:2021/9/319:00 項目介紹: Chai.

1900/1/1 0:00:00
區塊鏈:區塊鏈資本風起云涌 Mixed Elements為何更勝一籌_ENTS

2021年,全球區塊鏈產業投融資市場不斷反彈,僅上半年的投融資數量就已經超過2020年全年。區塊鏈投資行業多條賽道成為投資的熱點,DeFi增長勢頭繼續保持,鎖倉價值從年初的171億美元增長至76.

1900/1/1 0:00:00
ads