這兩天XEN特別火,看了看代碼,相對比較簡單。這篇文章就來結合文檔來解讀一下合約代碼,僅做學習交流用。對于玩法還不熟悉的朋友可以先看看我昨天發的推文。
整個玩法分成兩部分,我這里將其區別為:
時間挖礦,也就是在參與時指定時間,時間到期后即可領取對應的XEN,唯一付出的成本就是gas費用和等待的時間stake挖礦,通過質押XEN來挖礦時間挖礦
先來看第一部分,時間挖礦。用戶通過調用?claimRank(uint256term)?來參與,term?代表用戶想要挖礦的天數,在這個時間到期之后才能領取XEN獎勵。
其中全局變量?globalRank?代表的是全局參與的總人數,只增不減。activeMinters?代表正在參與挖礦的人數,當用戶參與時間挖礦時增加?1,到期領取獎勵后減少?1。userMints?代表用戶的挖礦參數。我們看到,這里最短需要參與一天,最多參與的天數是通過?_calculateMaxTerm()?實時計算出來的。
某巨鯨從幣安和Coinbase提出9900枚ETH并質押入Lido:金色財經報道,據Spot On Chain發布數據表示,某巨鯨從幣安和Coinbase提出9900枚ETH并質押入Lido。[2023/7/7 22:24:18]
首先如果全部參與人數沒有超過5000,那么最多只能挖100天。如果達到了5000,通過對參與人數進行對數運算,計算出對應的最大天數。對應于文檔中的:
最大參與時間計算公式
代碼中的?fromUInt()?和?log_2()?都來自于?ABDKMath64x64?庫。其中?fromUInt()?的代碼:
用于帳戶抽象的加密基礎設施Pimlico已上線Scroll:5月23日消息,用于帳戶抽象的加密基礎設施Pimlico已上線基于ZK Rollup的以太坊擴容網絡Scroll,成為Scroll上ERC-4337錢包的首批基礎設施提供商,支持錢包使用ERC-20代幣贊助用戶操作。[2023/5/23 15:20:13]
入參x有限制,這個最大值轉換為10進制是?9223372036854775807,全部參與人數不可能超過這個數,所有可以安全使用。
在構造的挖礦系數?mintInfo?中,_calculateRewardAmplifier()?和?_calculateEAARate()?也是實時計算的。
可以看到,越早參與,可以獲得到的?AMP?就越多,最開始一天是?3000,每過一天會減少?1,最終超過3000天就會恒定為?1。
對應于文檔中?AMP?的計算方式:
Web3社交圖譜Relation集成ChatGPT提供AI Chat Bot服務:12月7日消息,Web3社交圖譜基礎設施Relation宣布集成ChatGPT人工智能對話模型,在Relation IM中提供不受地區限制的AI Bot服務。
此前消息,1月28日,基于Internet Computer的Web3社交基礎設施Relation宣布以2000萬美元估值完成種子輪融資。[2022/12/7 21:28:47]
AMP計算公式
EAA計算公式
由于Solidity中沒有小數,因此在代碼中將其放大了?1000?倍,后面在?getGrossReward?方法中會再縮小?1000?倍。
到這里,我們可以看到,在用戶參與時間挖礦時,已經確定的數據有
Messari完成3500萬美元B輪融資:9月21日消息,加密分析平臺Messari宣布完成3500萬美元B輪融資, Brevan Howard Digital領投,Morgan Creek Digital、FTX Ventures、Point72 Ventures、Kraken Ventures、Uncork Capital、Underscore VC、Galaxy和Coinbase Ventures等參投。
此前8月9日消息,加密數據分析平臺Messari正在以3億美元的估值籌集資金,并已吸引了潛在投資者。其中一位消息人士稱,該公司正在尋求籌集3500萬美元。 上周,Messari曾收購加密融資數據庫Dove Metrics。[2022/9/21 7:11:44]
用戶在全局中的位置參與時長,由用戶在參與時指定AMP,越早參與越大EAA,越早參與越大接下來我們來看用戶領取獎勵時的方法?claimMintReward():
雄安新區五部門《指導意見》:多維度運用區塊鏈等信息技術,完善綠色金融基礎設施建設:金色財經報道,近日,雄安新區五部門印發《金融支持雄安新區綠色低碳高質量發展的指導意見》,《指導意見》構建的綠色金融政策體系、組織體系和產品體系,具有三大“雄安特色”。其中表明,突出科技創新引領,多維度運用區塊鏈、大數據、人工智能等信息技術,完善綠色項目庫、碳信息采集核算、綠色信用數據體系等綠色金融基礎設施建設,提升綠色金融服務效率。(中國雄安官網)[2022/9/13 13:26:03]
校驗限制后,計算可得獎勵數量,然后?_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
DeFi市場迅猛發展,促使越來越多的交易活動轉至L2,但ENS并未隨之轉移。目前,用戶無法在L2上注冊和交易ENS域名,其必須繼續支付L1的Gas費才能與ENS交互.
1900/1/1 0:00:00最近,DelphiVentures很榮幸的加入參與了Celestia的融資,因此我們想借此機會簡要解釋一下,關于Celestia和它的團隊所提出的模塊化區塊鏈愿景.
1900/1/1 0:00:00人們說,如果能有一個更新,能將ETHL1的TPS提高100倍,Gas費減少100倍,那我們就不需要Rollup,但真的是這樣嗎?其實不是的.
1900/1/1 0:00:00市場觀點 宏觀流動性 貨幣流動性整體緊縮。美聯儲仍然持鷹派態度,再次重申其不惜一切代價遏制通脹的目標。OPEC宣布減產導致油價反彈,利空資本市場.
1900/1/1 0:00:00“有人害怕孫哥會不會把我割了,明牌告訴你,放心不會割...,如果一不小心....,觀察我的笑容,摔杯為號,你懂的".
1900/1/1 0:00:00兩天前,推特用戶YannickCrypto發推指控SushiSwap新CEOJaredGrey為加密詐騙犯并列舉了其多項「罪行」,該推特在社區引發了激烈討論.
1900/1/1 0:00:00