譯者:翻譯小組
校對: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;}
Multichain:橋接服務目前已停止,恢復時間尚未確定:7月7日消息,Multichain發布公告稱,Multichain服務目前已停止,所有的橋接交易將在卡在源鏈上。目前還沒有確定的恢復時間,請暫時不要使用Multichain橋接服務。[2023/7/7 22:23:22]
我們在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;}
DID信用協議Getaverse發布Getaverse Multichain SBT嘉年華活動:據官方消息,Web3 DID信用協議Getaverse為了讓用戶體驗更多Web3生態,團隊現已完成多鏈部署。現官方發布Getaverse Multichain SBT嘉年華活動,包含zkSync、Optimism和Polygon。持有三個Getaverse特定系列SBT用戶將有機會贏得Getaverse IDO白名單。
截至目前,Getaverse DID平臺用戶數量已突破127,000,平臺SBT鑄造數量突破98,000,可信驗證節點數量突破15,500,各項數據均創新高。[2023/6/9 21:26:38]
然后我們使用swapExactTokensForTokens將BNT兌換到INJ。兌換路徑由代幣組成。相關的地址可以從前面的交易例子中獲得。
3.在Uniswap上交易
IUniswapRouterprivateconstantuniswapRouter=IUniswapRouter(0xE592427A0AEce92De3Edee1F18E0157C05861564);addressprivateconstantDAI=0xaD6D458402F60fD3Bd25163575031ACDce07538D;function_tradeOnUniswap(uint256amountIn,uint256amountOutMin,uint256deadline)private{addresstokenIn=INJ;addresstokenOut=DAI;uint24fee=3000;addressrecipient=msg
跨鏈互操作性協議Multichain集成Kava Network:6月13日消息,跨鏈互操作性協議Multichain宣布集成Kava Network,目前用戶可以將Kava上USDC、USDT、DAI、ETH、WBTC跨鏈至Multichain支持的包括以太坊和BNBChain在內的8條區塊鏈。[2022/6/13 4:22:39]
4.集合在一個交易里
我們還需要批準SushiSwap合約來使用BNT,批準Uniswap合約來使用INJ。在部署時只做一次會更省力,所以可以把它放在構造函數中:
constructor(){IERC20(BNT)
現在我們有了需要的一切,創建一個multiSwap函數:
functionmultiSwap(uint256deadline,uint256amountOutMinUniswap)externalpayable{uint256amountOutMinBancor=1;uint256amountOutMinSushiSwap=1;_tradeOnBancor(msg
如你所見,現在兌換代幣很容易。對于Bancor和SushiSwap,我們不關心我們收到多少代幣,所以我們把最小值設為1。唯一重要的是我們在最后一次兌換中收到多少DAI代幣。這個值從外部傳來,作為UNIX時間戳的最后交易期限也是類似。如果你不關心交易何時執行,可以傳遞一個很高的截止時間戳。
但是如何獲得一個合理的amountOutMinUniswap值呢?為了獲得它,我們可以創建第二個函數,只作為視圖函數來調用。
Multigate CEO:非洲金融科技公司比其他科技初創公司具有更大的規模潛力:5月10日消息,非洲金融科技行業在過去幾年中發展迅速,引起一些資源充足的風險投資(VC)機構的關注,并向尼日利亞不同的金融科技項目投入數千萬美元。事實上,一些起源于尼日利亞的金融科技初創公司已經成功獲得超過1億美元的資金。
過去一年里,金融科技公司在創業公司融資資金方面占據更大的份額。金融科技初創公司Multigate首席執行官Eghosa Nehikhare表示,這是由于某些變量之間的相互關系造成的,例如業務的規模潛力;提供資金的VC/PE的耐心(或急躁)程度;與其他科技初創公司相比,金融科技的“真實”可尋址市場規模的比例;以及最終的投資回報率(ROI)。鑒于當今大部分人口迫切需要金融科技提供的大多數解決方案,非洲金融科技比該地區的其他科技初創公司具有更大的規模潛力。(Bitcoin.com)[2022/5/10 3:02:59]
//meanttobecalledasviewfunctionfunctionmultiSwapPreview()externalpayablereturns(uint256){uint256daiBalanceUserBeforeTrade=IERC20(DAI)
但是請注意,我們沒有把它聲明為視圖函數,因為它使用非視圖函數來計算結果,所以不可能將它本身聲明為一個視圖函數。
我們沒有在鏈上調用這個函數。它仍然是作為一個視圖函數來調用的,例如在前端使用Web3的call()功能來讀取結果。
以太坊錢包Gnosis Safe Multisig推出智能合約交互功能:非托管以太坊錢包Gnosis Safe Multisig推出一個前端“智能合約交互(Contract Interaction)”功能,允許用戶直接與以太坊智能合約進行交互。Gnosis表示該功能旨在提高使用智能合約的靈活性,并允許以太坊智能合約和應用程序直接交互,并支持尚未添加到Gnosis界面中智能合約,例如用戶可以使用該功能與ENS交互并定義部分參數。Gnosis同時表示宣布推出桌面版錢包,并“增加額外的安全性”。[2020/5/20]
現在可以在我們的前端調用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
尊敬的用戶: WBF將在開放區上線SMG/USDT交易對,具體上線時間如下:充值時間暫不開啟提幣時間:2021/9/218:30交易時間:2021/9/218:30 項目介紹: Smaugs市場.
1900/1/1 0:00:00尊敬的用戶: WBF交易所應FISU項目方要求,將于2021年9月5日18:18起開啟交易后采用漲跌幅機制。每日跌幅不超過20%,如有疑問,請咨詢WBF官方客服.
1900/1/1 0:00:00金色財經報道,方舟投資ARK創始人CathieWood表示,億萬富翁約翰·保爾森應該在他的秋季閱讀清單上放幾本關于比特幣的書,因為比特幣將繼續存在.
1900/1/1 0:00:00親愛的大幣網(Dcoin)用戶:LAYTAM將于9月9日上線大幣網(Dcoin),具體時間安排如下.
1900/1/1 0:00:00尊敬的用戶,MEXC關於“RACA合約全球交易大賽、瓜分3萬USDT贈金”活動獎勵現已發放。恭喜獲得獎勵的用戶,獎勵將于7個工作日內全部發放至用戶合約賬戶中,請注意查收.
1900/1/1 0:00:00尊敬的用戶:?????????????BKEXGlobal即將上線COOK,詳情如下:上線交易對:COOK/USDT幣種類型:ERC20?充值功能開放時間:已開放交易功能開放時間:2021年9月.
1900/1/1 0:00:00