這兩天XEN特別火,看了看代碼,相對比較簡單。這篇文章就來結合文檔來解讀一下合約代碼,僅做學習交流用。對于玩法還不熟悉的朋友可以先看看我昨天發的推文。
整個玩法分成兩部分,我這里將其區別為:
時間挖礦,也就是在參與時指定時間,時間到期后即可領取對應的XEN,唯一付出的成本就是gas費用和等待的時間stake挖礦,通過質押XEN來挖礦時間挖礦
先來看第一部分,時間挖礦。用戶通過調用?claimRank(uint256term)?來參與,term?代表用戶想要挖礦的天數,在這個時間到期之后才能領取XEN獎勵。
其中全局變量?globalRank?代表的是全局參與的總人數,只增不減。activeMinters?代表正在參與挖礦的人數,當用戶參與時間挖礦時增加?1,到期領取獎勵后減少?1。userMints?代表用戶的挖礦參數。我們看到,這里最短需要參與一天,最多參與的天數是通過?_calculateMaxTerm()?實時計算出來的。
過去一周多個DeFi協議交易量超10億美元 Uniswap單日交易量超128億美元:金色財經報道,據Dune用戶@hagaetc統計的DEX數據顯示,在過去7天共有6個DeFi協議的交易量超過10億美元,分別是Uniswap(約252億美元)、Curve(約107億美元)、Sushiswap(約36億美元)、Pancakeswap(約14億美元)、DODO(約13億美元)、Balancer(約11億美元)。其中,Uniswap在3月11日的單日交易量超過128億美元。[2023/3/13 13:00:07]
首先如果全部參與人數沒有超過5000,那么最多只能挖100天。如果達到了5000,通過對參與人數進行對數運算,計算出對應的最大天數。對應于文檔中的:
美參議員提交《朝鮮政策監督法案》,擬對朝鮮使用加密貨幣的行為實施制裁:9月15日消息,據外媒報道,美國參議院議員向國會提交《朝鮮政策監督法案》,其中明確規定對朝鮮為逃避國際社會制裁而使用的加密貨幣的使用行為將實施制裁等。(韓聯社)[2022/9/15 6:57:27]
最大參與時間計算公式
代碼中的?fromUInt()?和?log_2()?都來自于?ABDKMath64x64?庫。其中?fromUInt()?的代碼:
入參x有限制,這個最大值轉換為10進制是?9223372036854775807,全部參與人數不可能超過這個數,所有可以安全使用。
在構造的挖礦系數?mintInfo?中,_calculateRewardAmplifier()?和?_calculateEAARate()?也是實時計算的。
美國信用合作社Achiba已支持佛羅里達州客戶購買比特幣:6月9日消息,美國信用合作社Achieva宣布已支持佛羅里達州客戶購買比特幣。Achieva在其新應用程序中發布此功能,這個應用程序于上周二通過與區塊鏈金融服務公司NYDIG的合作上線。(Bitcoin Magazine)[2022/6/9 4:13:47]
可以看到,越早參與,可以獲得到的?AMP?就越多,最開始一天是?3000,每過一天會減少?1,最終超過3000天就會恒定為?1。
對應于文檔中?AMP?的計算方式:
AMP計算公式
EAA計算公式
由于Solidity中沒有小數,因此在代碼中將其放大了?1000?倍,后面在?getGrossReward?方法中會再縮小?1000?倍。
區塊鏈碳交易公司BlueSphere Carbon擬融資1000萬美元:金色財經報道,區塊鏈碳交易公司BlueSphere Carbon宣布推出碳交易平臺,旨在利用區塊鏈技術徹底改變碳信用交易并計劃募集1000萬美元資金。BlueSphere Carbon 表示,區塊鏈技術現在碳交易領域發揮著越來越重要的作用,可以在驗證過程中消除所謂的“重復計算”問題。到目前為止,BlueSphere Carbon 已經使用了 Moss Carbon Credit、Klima DAO、Verra 和 Toucan Protocol 等組織開發的區塊鏈技術,而且還在探索其他新興碳交易市場。(intellinews)[2022/6/9 4:12:23]
到這里,我們可以看到,在用戶參與時間挖礦時,已經確定的數據有
用戶在全局中的位置參與時長,由用戶在參與時指定AMP,越早參與越大EAA,越早參與越大接下來我們來看用戶領取獎勵時的方法?claimMintReward():
Chorus One將關閉Terra基礎設施,暫時不會參與新鏈:5月26消息,質押解決方案Chorus One發推稱,將關閉其Terra基礎設施,并且暫時不會參與Terra新鏈。Chorus One提醒將LUNA委托給其的用戶考慮取消委托或者將代幣重新委托給另一個驗證者。[2022/5/26 3:44:06]
校驗限制后,計算可得獎勵數量,然后?_mint?給用戶,計算獎勵數量的主要計算邏輯在?_calculateMintReward()?中:
這里我們先忽略?penalty?這一塊,其他部分的計算正好對應于文檔中的:
時間挖礦獎勵數量計算公式
在計算最終獎勵數量的時候,自己參與的位置越靠前,后面的人越多,那么
cRG-cRu
就會越大,同樣說明越早參與越好。
我們再來看?penalty?這部分,這塊其實就是系統限制用戶必須在到期后一定時間內領取走,如果沒有領取則會隨著時間越來越少,最終歸零。
對應于文檔中的扣除比例:
扣除比例時間關系
文檔中顯示超過七天就全部不能領取,但是代碼中顯示最多只會扣除?99%。
到這里,我們就介紹完了時間挖礦的代碼部分,接下來我們來看看stake挖礦的部分。
stake挖礦
這里的stake其實比常見的挖礦計算邏輯要簡單。常見的挖礦?APY?是根據用戶質押數量占比以及參與時間來計算的,屬于隨挖隨走類型的。而這里的stake挖礦的?APY?在參與時就已經固定了,且需要在參與時就指定參與時間,在時間到期后才能領取獎勵,如果沒有到期就領取,只能取回本金,沒有任何的獎勵。
用戶可以在前面時間挖礦到期時調用?claimMintRewardAndStake?同時領取獎勵并進行stake,或者單獨調用?stake(uint256amount,uint256term)?進行stake挖礦:
整體的邏輯也比較簡單,參與的時候需要指定時間?term。有一個小細節是在?stake?的時候直接?burn?掉了用戶的token,而不是通過轉賬的方法,這樣可以少一步授權操作。由于合約本身既包含了挖礦操作,同時也是ERC20,因此可以實現這個邏輯。
接下來我們看看計算APY的方法?_calculateAPY():
基本邏輯也是類似于上面計算?EAA?的方法,一次函數遞減,參與的時間越早,相對應的?APY?就越大。初始值為?20,每過?90?天,減少?1。最終在?1620?天后,恒定為?2。對應于文檔:
APY時間關系
最終在?stake?到期后,可以調用?withdraw()?取出本金和獎勵:
對應于文檔中的:
stake獎勵計算公式
對于stake挖礦而言,沒有領取的限制,獎勵數量不會變化。
總結
到這里我們就看完了主要的邏輯代碼。這個玩法有意思的地方在于越早參與獲得的獎勵越多,相當于普通的挖頭礦,但是同時也取決于總體的參與人數,如果后面沒有人參與,那么也沒啥意義。必須是參與的早且后面還有更多人參與的情況下,獎勵才會更多。目前時刻總參與人數已經快達到50萬了,熱度確實很高。
同時,前面的時間挖礦和后面的stake挖礦也存在博弈關系,如果前面選擇的時間越長,獲得的獎勵就越多,但是來到后面的stake挖礦的APY就會降低,需要大家自行抉擇。
合約本身代碼沒啥難度,但是整體機制比較有趣,值得花點時間了解。
責任編輯:MK
Tags:STASTAKESTAKINTbitstamp交易平臺官網PoolStakestake幣值得長期持有嗎INT幣有實際應用嗎
自2021年元宇宙元年之后,以元宇宙作為核心的行業崗位受到大量的扶持和關注,絡繹不絕的元宇宙相對應崗位缺口如雨后春筍涌入市場上.
1900/1/1 0:00:00正如我們所說,未來用戶線上社交方式正在被定義,但與之相較更重要的是,這被Meta和其他大型社交類公司所主導。但僅從表面看,Meta發展史就足以使人們理解該公司正在嚴重偏離趨勢.
1900/1/1 0:00:001、愿景 通過實現去中心化、可組合和24/7全天候可用的流動性,自動做市商是任何去中心化金融生態系統的生命線。隨著新的鏈和第二層擴展解決方案的迅速擴散,他們競爭引導流動性以吸引新的用戶和開發者.
1900/1/1 0:00:00北京時間10月18日,備受市場期待的Aptos正式上線主網Autumn。作為「Meta」系選手,Aptos誕生之初就吸引加密社區及VC關注,獲得a16z、FTXVentures等頂級機構支持.
1900/1/1 0:00:00[免責聲明:GCR于2022年12月9日參與了Mysten實驗室的B輪融資] 1、簡介 “L1競爭”是2020-2021年周期中備受關注的敘事.
1900/1/1 0:00:00本文嘗試對Aptos的未來發展定位為下一個Solana。因為在區塊鏈不可能三角的約束中,新公鏈總是呈現周期性發展,上個周期以Solana為首的新公鏈憑借著激進的低費高速模式快速崛起,也因為一些內.
1900/1/1 0:00:00