比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

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

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;}

借貸協議Geist Finance因Multichain漏洞將永久關閉:金色財經報道,根據應用程序開發團隊7月14日在社交媒體上發布的消息,由于Multichain漏洞造成的損失,借貸協議Geist Finance將永久關閉。Geist的合約于7月6日暫停,然后于7月9日以“僅撤回并償還”的模式恢復。最新的帖子證實,該團隊不打算在Geist上重新開放借貸。

Geist是一個運行在Fantom網絡上的借貸協議。在Multichain被黑客攻擊之前,它的合約中鎖定了價值超過2900萬美元的加密資產。[2023/7/15 10:56:31]

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

2.在Sushi上交易

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

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

Multicoin致投資者信:預計FTX破產將殺死更多加密公司,仍然相信Solana:11月18日消息,加密投資基金Multicoin兩位合伙人Kyle Samani和Tushar Jain于周四發布了致投資者信,披露了基金情況以及對市場的觀點和看法:

1. FTX的崩潰以及帶來的下跌已使Multicoin本月內資產規模下跌55%。

2. 我們過于信任我們與FTX的關系,以至于在FTX上擁有太多資產。通常,Multicoin在FTX、Coinbase和Binance這三個交易所進行交易,現在,除了在FTX上的資產,100%資產都在Coinbase上或在自我保管的錢包中。

3. 加密貨幣市場不會很快積極轉向,我們預計未來幾周FTX/Alameda的影響會蔓延,導致更多的加密公司崩盤,這將給整個加密生態系統的流動性和交易量帶來更多壓力。

4. 隨著資產與FTX掛鉤的其他公司尋求應急資金,我們希望以更有吸引力的估值購買錯位的資產。

5. Multicoin仍然堅持自己的立場,仍然相信Solana,他擁有“最活躍的開發者社區之一”,根據我們在2018年和2020年的經驗,如果核心論點沒有受損,在短期危機期間出售資產是不明智的。

6. 正如雷曼兄弟倒閉并沒有扼殺銀行業,安然公司破產也不是能源公司的消亡,FTX不會是加密行業的終結。隨著杠桿從系統中清除,我們預計明年會出現新的萌芽,我們知道這個行業和我們投資組合中的建設者是一些最敬業的人,他們不會放棄,我們也不會。[2022/11/18 13:20:44]

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

Multichain Protocol將在合并升級前約6小時暫停以太坊跨鏈服務:9月14日消息,Multichain Protocol將在以太坊合并升級前約6小時暫停以太坊區塊鏈跨鏈服務,Multichain僅支持升級后的PoS鏈。[2022/9/14 13:27:41]

3.在Uniswap上交易

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

4.集合在一個交易里

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

constructor(){IERC20(BNT)

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

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

Multiverse從三星Next及區塊鏈風投籌資1500萬美元:為早期科技公司提供資金的去中心化人工智能生態系統Multiverse已從三星Next及一些最大的區塊鏈風投處獲得了1500萬美元的投資,包括Arrington XRP Capital、Huobi Ventures及Fenbushi。隨著此次融資,Multiverse現在的隱含估值為2.5億美元。(cointelegraph)[2021/7/29 1:22:01]

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

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

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

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

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

聲音 | Multicoin Capital執行合伙人:以太坊2.0有結構性和根本性的開放性問題:Multicoin Capital執行合伙人Kyle Samani表示,項目是否留在以太坊完全取決于開發人員想要構建的應用程序類型。對于開放金融應用程序,以太坊是最佳構建場所。他指出,有幾個項目正在構建不是以開源金融為中心的應用程序,這些項目尋求的最重要因素是可拓展性。當被問到以太坊向以太坊2.0的過渡,以及開發者在此場景中選擇其項目所基于的平臺時需要考慮的因素,他表示,“我可以非常肯定地說,我們真的不知道以太坊2.0將如何工作。關于它實際上是如何工作的,有一些高層次的想法,但也有相當多的結構性和根本性的開放性問題。”他表示,在2019年10月份的Devcon上,該系統的結構發生重大變化,“他們改變了分片數量,以及分片將如何交聯。”他表示,“我們還可以看到,以太坊團隊在研究其他團隊正在做的事情,并調整他們的一些想法。可以肯定地說,我們只是不知道Eth 2.0會是什么樣子,很有可能最終產品甚至不是目前計劃中的產品。”他最后表示,開發者必須選擇是否將所有雞蛋都放在以太坊的籃子里,因為他們不知道“這艘船要去哪里”,在中長期內選擇更具確定性的其他區塊鏈。(AMBCrypto)[2020/1/4]

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

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:SWAPULTMULTIULTIGatorSwapMINUTE Vault (NFTX)Multi Wallet SuiteMulti AI

幣安下載
XT關于即將上線GMC的公告_COM

尊敬的XT用戶: XT即將上線GMC(GokuMarketCredit),并在創新區開放GMC/USDT交易對。具體開通時間,請關注后續公告.

1900/1/1 0:00:00
LOEx國際站即將上線NFIL_EOS

尊敬的LOEx用戶:LOEx國際站即將上線NFIL,敬請期待。幣種介紹代幣簡稱:NFIL代幣全稱:NewhashrateofFilecoin發行總量:20,000,000現流通量:2,000,0.

1900/1/1 0:00:00
ZT創新板即將上線SPC_KBT

親愛的ZT用戶: ZT創新板即將上線SPC,并開啟SPC/USDT交易對。具體上線時間如下:充值:已開啟;交易:2021年9月5日11:00?; SPC 項目簡介:SpacePort是一款復古風.

1900/1/1 0:00:00
Gate.io 第31期BTC鯊魚鰭命中高收益區,鎖倉6天利率高達12.08%公告_GAT

《“每周鯊魚鰭”第31期BTC鯊魚鰭》于8月28日12:00上線,起息觀察期已結束,觀察期內BTC價格始終處于區間,命中高收益區.

1900/1/1 0:00:00
AOFEX周報(2021/08/30-2021/09/05)_SDT

AOFEX周報為您匯總平臺近期熱點,助您快速了解平臺動態,官方消息一手掌握。上周AOFEX上線了SDN、OCT、GNO、FTM、WILD、PUSH、TORN、MIST、LYM、CFG、DERC、.

1900/1/1 0:00:00
Solana 生態 AMM 協議 Cyclos 完成 210 萬美元融資,Hashkey、Solana Capital 等參投_SOLA

鏈聞消息,Solana生態AMM協議Cyclos完成210萬美元融資,參投方包括CMSHoldings、Hashkey、SolanaCapital、HuobiVentures、Coin98Ven.

1900/1/1 0:00:00
ads