買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > BNB價格 > Info

TOK:從代碼角度上看懂DEX的聚合交易?_DNAxCAT 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的智能合約是開源的。

一聰明巨鯨花了253萬枚USDT購買了98.3枚WBTC:金色財經報道,Lookonchain監測的數據顯示,今天,一聰明巨鯨花了253萬枚USDT以25,777美元的價格購買了98.3枚WBTC。[2023/9/7 13:24:31]

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

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

授權交易所使用你的token

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

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

getExpectedReturn()

swap()

getExpectedReturn-估算最佳兌換方案

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

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

Taiko推出社區資助計劃,贈款將以Taiko代幣的形式授予:7月14日消息,基于zkRollup的以太坊二層網絡Taiko宣布推出社區資助計劃,旨在發現并支持在Taiko生態系統上建立和發展的創新社區成員,并提供經濟激勵和開發者資源。所有贈款都將以未來Taiko代幣的形式授予,其中最多0.2%的代幣供應總量將僅分配給首個受贈項目。

Taiko表示,捐贈類別包括零知識證明(ZKP)、教育與社區、Proposer優化、替代Proposer-Prover代幣經濟學、證明市場、社交/消息傳遞DApp、NFT橋和市場、游戲、AI集成。[2023/7/14 10:55:33]

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

Messari:Q1 Tezos市值增長55%,Gas費收入環比下降23%:4月24日消息, Messari發布Tezos 2023年一季度狀態報告,要點如下:Tezos市值在本季度增長了55%,表現超過整體加密市場(市值增長46%)。然而,總Gas費用收入環比下降了23%(不包括存儲成本)。此外,Tezos還實現了多種銷毀機制。其中包括創建新帳戶或智能合約,分配額外的智能合約存儲,以及刪除驗證器錯誤。盡管有這些銷毀機制,但銷毀率很低,每年的比例不到1%。該季度XTZ流通供應量環比增長1.1%,年均增長4.4%。繼第四季度表現強勁之后,Tezos的網絡活動在2023年第一季度呈現出好壞參半的結果。雖然總活躍賬戶環比增長1.4%,達到自2022年第一季度以來的最高水平,但新賬戶環比下降了40%。2022年第四季度新賬戶激增是由于Manchester United NFT的鑄造。 在網絡使用方面,每日平均智能合約調用環比下降25%,達到一年來的最低水平。然而,交易量環比略有上升,去年平均每天約有45000筆交易。智能合約調用的下降來自NFT和游戲領域。[2023/4/24 14:23:27]

這個方法接收5個參數:

OpenSea針對NFT收藏品推出分析功能:10月20日消息,據官方推特,NFT市場OpenSea針對NFT收藏品推出分析(Analytics)功能。目前該功能為Beta版本,大多數NFT收藏品都包含一個Analytics選項卡,用戶可以在其中瀏覽趨勢、指標和NFT活動,包括數量、銷售額和地板價這三個核心指標,以簡化用戶獲取NFT信息的過程并幫助其做出明智決定。[2022/10/20 16:31:15]

fromToken:當前擁有的token的地址

toToken:要交換的token的地址

amount:想要交換的token數量

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

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

這個方法有2個返回值:

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

Chainalysis為加密犯罪受害者開通熱線:6月22日消息,區塊鏈分析公司 Chainalysis 開通了一條新熱線,該熱線將為受到與加密相關的網絡攻擊或勒索軟件需求攻擊的組織提供支持。該熱線將 24/7 全天候運行,受害者將與來自 Chainalysis 的一組調查人員配對,他們將在追蹤和標記資金。如果資金已經被轉移或被盜,Chainalysis 團隊將幫助與執法和資產追回律師聯絡。熱線服務與 Chainalysis 的分析產品是分開的,受害者在攻擊時不需要是 Chainalysis 的現有客戶。勒索軟件犯罪分子在 2021 年創下了創紀錄的一年,在加密貨幣支付中賺取了 7.31 億美元。[2022/6/23 1:25:15]

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

目前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:TOKENKENTOKTOKEimtoken下載官網下載Cigarette TokenBNS Token[OLD]DNAxCAT Token

BNB價格
SWAP:除了空投代幣 1inch還有即時治理新功能_1inch幣能漲到多少錢

北京時間12月25日,備受關注的DEX聚合平臺1inch正式發布了它的代幣1INCH,而作為對早期交易用戶及流動性提供者的回饋,1inch分配了代幣總量的6%作為空投獎勵.

1900/1/1 0:00:00
OIN:2008-2020 比特幣發展大事記你知道哪些?_COIN

原標題:2008-2020比特幣發展大事記背景介紹:比特幣是第一個加密電子貨幣,其特色是使用密碼學來控制貨幣的制造和管理,而非依賴特定的中央機構.

1900/1/1 0:00:00
HTT:28000后的路該怎么走? 院長說幣行情分析(12/28)_加密貨幣市場

本號的文章只做研究、學習和交流使用,不具有任何的操作指導意義!?幣圈唯一每天堅持視頻分析行情的大號!要看視頻行情分析.

1900/1/1 0:00:00
TOK:關于ZBG平臺開放LON (Tokenlon)交易的公告_TOKE

公告編號2020122803各位關心ZBG的投資者們和項目方:ZBG將于HKT2020年12月30日上線LON項目,并開放LON/USDT交易對,具體時間如下,請投資人和項目方提前做好交易準備.

1900/1/1 0:00:00
USD:Hotbit定于2020年12月28日關閉 IOTX/BTC、NEST/ETH、NEST/BTC、SWRV/ETH、 VET/BTC、 CHR/BTC、CTSI/BTC及 OGO/BTC 交易對的公告_IBBTC價格

尊敬的Hotbit用戶:Hotbit定于2020年12月28日16:00關閉IOTX/BTC、NEST/ETH、NEST/BTC、SWRV/ETH、VET/BTC、CHR/BTC、CTSI/BT.

1900/1/1 0:00:00
SEC:瑞波雖有可能歸零,我卻很高興,Sec為什么不對BTC、ETH和Fil下手_數字貨幣

?這幾天是西方的圣誕節,對于瑞波來講,這個節字不是過節的“節”,而要改成劫難的“劫”了,雖然今天幣價有所回暖,但是和SEC的交手依舊存在著巨大的不確定性.

1900/1/1 0:00:00
ads