以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > DOGE > Info

從代碼角度上看懂DEX的聚合交易?_KEN:bitoken幣現在什么價格

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的智能合約是開源的。

HashKey Exchange與保險公司OneDegree簽署諒解備忘錄,OneDegree為其提供錢包保險服務:9月6日消息,HashKey Exchange宣布與香港科技保險公司OneInfinity by OneDegree簽署諒解備忘錄,OneInfinity by OneDegree將為HashKey Exchange提供數字資產錢包保險服務,保障范圍涵蓋冷錢包及熱錢包。雙方未來將繼續合作進行產品研發,探索宕機保護、數據備份以及負載管理等方面的研究。(信報)[2023/9/7 13:22:36]

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

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

授權交易所使用你的token

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

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

getExpectedReturn()

Shibarium錢包總數突破100萬:金色財經報道,根據Shibarium Scan的數據,Shibarium網絡已有超過100萬個錢包參與。這些用戶總共執行了超過783,000筆交易,日均交易量約為73,640筆。值得注意的是,區塊鏈的總區塊數目前為421,736個。盡管交易量激增,但這尚未轉化為鎖定在橋梁上的總資產的顯著增加。

目前,這一數字僅為116萬美元。DeFillama數據顯示,網絡上的主要參與者是去中心化交易所,主要是DogSwap和MARSWAP。這些平臺約占總TVL的100萬美元。[2023/9/3 13:14:01]

swap()

getExpectedReturn-估算最佳兌換方案

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

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

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

彭博社:加密公司在英國難以獲得銀行服務:4月3日消息,多位消息人士表示,加密公司在英國難以獲得銀行服務。少數仍在與加密公司合作的銀行要求提供更多關于他們如何監控客戶交易的文件和信息。加密公司的挑戰包括面臨申請被拒、賬戶被凍結和繁重的文書工作。

Coinbase國際政策副總裁Tom Duff-Gordon表示,英國銀行業的反應比歐盟反應更為敏銳,而歐盟為建立數字資產框架所做的努力正在使銀行更容易接受其他國家的加密公司。

PitchBook數據顯示,到2023年為止,英國對數字資產公司的風險投資下降了94%至5500萬美元,而歐洲其他國家則增長了31%。加密公司正在轉向BCB Payments和Stripe等支付服務提供商,以維持在英國的業務運營。(彭博社)[2023/4/3 13:41:11]

這個方法接收5個參數:

fromToken:當前擁有的token的地址

toToken:要交換的token的地址

amount:想要交換的token數量

Voyager:VGX不被歸類為證券,推遲與Binance US的交易導致每月損失1000萬美元:金色財經報道,據加密貸方 Voyager Digital 最新提交的法庭文件顯示,Voyager 否認了 SEC 針對「其原生 Token VGX 屬于證券」的指控,同時表示因該事件推遲與 Binance US 交易,將導致 Voyager 每月損失約 1000 萬美元。[2023/3/7 12:45:37]

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

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

這個方法有2個返回值:

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

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

阿迪達斯成立Web3工作室“/// Studio”:1月26日消息,據阿迪達斯旗下NFT項目Indigo Herz在社交媒體披露,知名運動品牌阿迪達斯成立Web3三條紋工作室///Studio(Three Stripes Studio),三條紋分別代表創新、協作和文化。

該工作室將負責所有阿迪達斯全球Web3.0活動的開發與交付,致力于定義和構建品牌戰略、合作伙伴關系、社區和活動及產品。[2023/1/26 11:30:48]

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

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

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

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:KENTOKETOKTOKENMuzzleTokenbitoken幣現在什么價格MobilinkTokeniBG Token

DOGE
聚幣Jubi雙旦狂享季 三重好禮陪你跨年_USDT:btcusdt

歲末之際,聚幣Jubi為感謝廣大用戶對于聚幣交易平臺的喜愛,現特推出“雙旦狂享季”主題活動!交易主流幣、合約曬單、競猜現貨價格,三重驚喜好禮活動邀您共同參與.

1900/1/1 0:00:00
中幣(ZB)“說真的 區塊鏈”第六期:瑞波和SEC之斗_SEC:btceasypay

本文由中幣研究院原創編輯下載全球領先的數字貨幣交易所中幣APP:www.zb.center/download大家好,好久不見!我是中幣運營主編樹莓.

1900/1/1 0:00:00
人民銀行正式發布《分布式數據庫技術金融應用規范 技術架構》等 3 項金融行業標準_比特幣交易:比特幣

鏈聞消息,中國人民銀行正式發布《分布式數據庫技術金融應用規范技術架構》、《分布式數據庫技術金融應用規范安全技術要求》、《分布式數據庫技術金融應用規范災難恢復要求》等3項金融行業標準.

1900/1/1 0:00:00
Web 3.0將給世界帶來哪些改變?_WEB3:區塊鏈

當下的互聯網處于信息互聯階段,Web2.0帶來了信息交換方式的巨大變革。從前車馬很慢,書信很遠,信息的傳遞要經過漫長的等待,信息互聯時代只需要一個應用程序就可以做到消息的及時傳送.

1900/1/1 0:00:00
關于永續合約獎池瓜分賽(第三期)圓滿結束的公告_OOT:數字貨幣交易所

公告編號2020122602各位關心ZBG的投資者們和項目方:永續合約獎池瓜分賽(第三期)已圓滿結束,活動獎勵均已發送完畢;查看方式:登錄ZBG賬戶—資產—賬單—“活動獎勵”.

1900/1/1 0:00:00
虎符將于12月27日15:00正式上線DATX(DATx)

尊敬的虎符用戶, 虎符將于2020年12月27日15:00(UTC8)重磅上線DATX/USDT和DATX/ETH交易對。充值已開啟,提現將于12月28日10:00(UTC8)開啟.

1900/1/1 0:00:00
ads