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

TOKE:從代碼角度上看懂DEX的聚合交易?_Coinchase Token

Author:

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

1inch發幣了,不知道各位老鐵有沒有領到。有的人暗中竊喜,有人還不了解1inch,這篇文件就介紹了1inch的核心功能。

文章的主要步驟如下:

獲得最大的收益兌換方案

授權1inch合約操作你的代幣

利用第一步獲得的兌換方案進行交易

什么是去中心化交易所聚合器?

去中心化交易所聚合器,即DEX,以下都用DEX表示。DEX聚合器是一個平臺,它將搜索一組DEX,以尋找在給定時間和數量下執行交易的最佳價格。

1inchDEX聚合器

1inch的一大特色就是聚合交易,它會在很多個DEX找到收益最大的成交方式。比如100000dai想買x個eth,在uniswap成交77%,在Bancor成交23%,是最合算的,買到的eth最多。

1inch是由AntonBukov和SergejKunz開發的DEX聚合器,通過一次交易將訂單在多個DEX之間拆分,給用戶提供最好的兌換匯率。1inch的智能合約是開源的。

StarkNet生態加密錢包Braavos已開源賬戶合約:2月6日消息,StarkNet生態加密錢包Braavos已開源賬戶合約,開發人員可訪問源代碼并進行審查。

金色財經此前報道,Braavos于2022年10月份宣布完成1000萬美元融資,PanteraCapital領投,Brevan Howard Digital、Cryptocom和Matrixport等參投。[2023/2/6 11:50:01]

在1inch執行交易,過程其實很簡單:

根據輸入的token或ETH數量,獲得預期可兌換的token數量

授權交易所使用你的token

使用第一步的獲取的token數量進行交易

我們首先仔細了解一下1inch的智能合約,讓我們感興趣的是這兩個方法:

getExpectedReturn()

swap()

getExpectedReturn-估算最佳兌換方案

數據:交易所ETH余額達到4年低點:金色財經報道,Glassnode數據顯示,交易所ETH余額剛剛達到4年低點,數值為200,099,642.608 ETH。[2022/11/13 12:56:33]

getExpectedReturn?可以隨意調用,不需要消耗任何gas。

這個函數需要傳入兌換參數,返回兌換的期望結果,以及交易在各個dex之間的兌換比例。

function?getExpectedReturn(????IERC20?fromToken,????IERC20?toToken,????uint256?amount,????uint256?parts,????uint256?disableFlags)?public?viewreturns(????uint256?returnAmount,????uint256?memory?distribution);

這個方法接收5個參數:

fromToken:當前擁有的token的地址

數據:USDC Treasury燒毀72,773,874枚USDC:金色財經報道,Whale Alert監測數據顯示,USDC Treasury燒毀72,773,874枚USDC 。[2022/10/27 11:45:55]

toToken:要交換的token的地址

amount:想要交換的token數量

parts:賣出數量拆分成多少份進行最優分布的估算。查看distribution?可以了解更多細節,默認是100

disableFlags:標記位,用于調整1inch的算法,例如可設置禁用某個特定的DEX

這個方法有2個返回值:

returnAmount:執行交易后將收到的token數量。

distribution:一個uint256類型的數組,代表交易在不同DEX中的分布情況。例如,parts設置為100,成交額度的25%在Kyber的,成交額度的75%在Uniswap,那么?distribution?看起來是這樣的:。

Colt Technology完成云托管PoC項目:金色財經報道,英國金融科技公司Colt Technology Services已經完成了一個概念驗證(PoC),它聲稱這證明了資本市場公司在云中托管和分發多播數據的可行性。Colt表示,該實驗還支持向按需服務和實時原始數據和交易應用程序的自動化發展。參與PoC的還有亞馬遜網絡服務(AWS),它幫助在AWS云中建立虛擬分布點。

據Colt資本市場解決方案全球總監Arthur Rank稱,成功的PoC將使資本市場公司能夠將更多的工作負載轉移到云中。(finextra)[2022/10/19 17:32:46]

目前1inch支持的交易所和排序如下:

注意:如果你想交易Eth而不是ERC20token,fromToken需要設置為特殊的值?0x0或?0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE。

getExpectedReturn函數的返回值非常重要,因為接下來需要利用它來執行實際的鏈上兌換操作。

研究:加州是對比特幣和以太坊最感興趣美國州:金色財經報道,CoinGecko近日發布了一項研究,確定美國對比特幣和以太坊這兩種主要數字貨幣最感興趣的十大州。在2022年5月2日至8月21日期間,CoinGecko團隊利用CoinGecko的頁面流量數據進行統計。研究發現,加利福尼亞州在美國所有州中占主導地位,伊利諾伊州的指數得分第二高。前十大州還包括紐約州、佛羅里達州、華盛頓州、賓夕法尼亞州、德克薩斯州、弗吉尼亞州、喬治亞州和亞利桑那州。(Bitcoin.com)[2022/9/5 13:09:33]

swap-執行多DEX兌換交易

要執行鏈上token兌換交易,就需要使用合約提供的另一個函數swap。調用swap時,需要傳入我們之前從getExpectedReturn返回的數據,這個操作需要花費gas。如果要賣出的是ERC20token,那么還需要先授權1inch合約可以操作你持有的待賣出token。swap函數的定義如下:

function?swap(????IERC20?fromToken,????IERC20?toToken,????uint256?amount,????uint256?minReturn,????uint256?memory?distribution,????uint256?disableFlags?)?public?payable;

swap函數接收6個參數:

fromToken:待賣出token的地址

toToken:待買入token的地址

amount:待賣出token的數量

minReturn:期望得到的待買入token的最少數量

distribution:兌換交易拆分分布數組

parts:執行估算時的拆分數量,默認值是100

disableFlags:標記位,例如可設置禁用某個特定的DEX

開發環境搭建

我們將使用?ganache-cli分叉(fork)當前的區塊鏈狀態,并提前在1個地址上充值了很多DAI。在示例中,地址是?0x78bc49be7bae5e0eec08780c86f0e8278b8b035b。我們還將gaslimit設置的非常高,因此在測試過程中不至于出現outofgas的問題,也不需要在每次交易前估算gas。啟動命令是:

ganache-cli?-f?https://mainnet

async?function?waitTransaction(txHash)?{????let?tx?=?null;????while?(tx?==?null)?{????????tx?=?await?web3

我們在之前已經獲得了兌換比率,現在把代碼變的更可讀,定義1個getQuote函數,返回一個包含所有參數的對象。

async?function?getQuote(fromToken,?toToken,?amount,?callback)?{????let?quote?=?null;????try?{????????quote?=?await?onesplitContract

一旦我們得到了兌換token的比率,接下來需要授權1inch可以操作我們持有的token,ERC20token標準不允許在一次交易中向合約發送token并觸發下一個操作。我們寫了一個簡單的函數,調用approval函數,并使用?waitTransaction?等待交易確認。

function?approveToken(tokenInstance,?receiver,?amount,?callback)?{????tokenInstance

);

最后的執行結果看起來是下面這樣的:

我們用1000DAI換回來5.85ETH。

在這個過程中,你可能會遇到的這樣一個錯誤提示:“VMExceptionwhileprocessingtransaction:revertOneSplit:actualreturnamountislessthanminReturn”。這表示鏈上的報價已經更新。如果想避免這種情況發生,你可以在代碼中引入一個滑點,根據交易金額,將minReturn參數減小1%或3%。

總結

1inch提供了出色的鏈上DEX聚合實現,可以在一個交易內利用多個DEX實現最優的兌換策略。1inch的API使用也很簡單,只需要用getExpectedReturn估算兌換方案,然后使用swap執行兌換方案,就可以得到最好的兌換結果。你不必總是用eth交易,也可以交換2個ERC20token,甚至可以用weth交易。

Tags:TOKETOKKENTOKENEURO TOKENFC Porto Fan TokenCoinchase TokenNew Chance Token

火幣APP
比特幣:沸騰 2020:皇冠兩顆明珠 比特幣與以太坊明年會如何_比特幣最新價格美元實時

前言:2020是沸騰的一年。從312暴跌到比特幣新高,從DeFi狂潮到Filecoin上線。“一個牛市可以賺10年的錢”,但也有人合約虧損釀成慘案.

1900/1/1 0:00:00
FIL:Filecoin生態系統的增長與創新丨星際數據_3X Long Dogecoin Token

12月11日,ETHGlobal和Filecon主辦了存儲市場峰會。一天的一部分時間致力于Filecoin生態系統的增長與創新。以下是當天這一部分中不同對話的摘要,主題和結論.

1900/1/1 0:00:00
數字人民幣手冊7::防范假冒錢包等5個問題要未雨綢繆

原標題:數字人民幣手冊⑦冷思考:防范假冒錢包等5個問題要未雨綢繆編者按:數字人民幣的試點進展備受期待.

1900/1/1 0:00:00
KEN:為什么我們改變了對于加密貨幣的態度?_TOKE

治理Token通常會賦予持有人一定的項目費用份額,并在項目治理中擁有一定的投票權。以sushi為例,susiswap交易所的原生Token.

1900/1/1 0:00:00
KEX:BKEX Global 關于上線FIC(FileCash)的公告_FIC

親愛的BKEXer:?????? ??? BKEXGlobal即將上線FIC,詳情如下:??上線交易對:FIC/USDT充值功能開放時間:已開放交易功能開放時間:2020年12月27日20:00.

1900/1/1 0:00:00
COIN:CoinBene斬獲“年度最佳區塊鏈金融衍生品服務機構”及“年度區塊鏈百強企業”兩項大獎_INB

近期,CoinBene斬獲兩項大獎——“年度最佳區塊鏈金融衍生品服務機構”及“年度區塊鏈百強企業”。?該獎項由金色財經主辦的“與時共創”大會頒發.

1900/1/1 0:00:00
ads