這兩天XEN特別火,看了看代碼,相對比較簡單。這篇文章就來結合文檔來解讀一下合約代碼,僅做學習交流用。對于玩法還不熟悉的朋友可以先看看我昨天發的推文。
整個玩法分成兩部分,我這里將其區別為:
時間挖礦,也就是在參與時指定時間,時間到期后即可領取對應的XEN,唯一付出的成本就是gas費用和等待的時間stake挖礦,通過質押XEN來挖礦時間挖礦
先來看第一部分,時間挖礦。用戶通過調用?claimRank(uint256term)?來參與,term?代表用戶想要挖礦的天數,在這個時間到期之后才能領取XEN獎勵。
其中全局變量?globalRank?代表的是全局參與的總人數,只增不減。activeMinters?代表正在參與挖礦的人數,當用戶參與時間挖礦時增加?1,到期領取獎勵后減少?1。userMints?代表用戶的挖礦參數。我們看到,這里最短需要參與一天,最多參與的天數是通過?_calculateMaxTerm()?實時計算出來的。
RWA借貸協議Goldfinch面臨貸款違約:金色財經報道,Goldfinch是一個向現實世界鏈下業務提供貸款的 DeFi 協議,在一筆500萬美元的貸款中,肯尼亞摩托車公司 Tugende 違約。據報道,Tugende 違反了貸款協議的條款,導致違約金額占 Goldfinch 總鎖定價值(TVL)的約4%。
這次違約將導致 Senior Pool 的資產凈值減記3.95%。由于過去一年 Senior Pool 的年化收益率為7.81%,這意味著在這次120天減記結束時,過去12個月的整體年化收益率將僅為正1.50%。
Goldfinch 是一個去中心化信用協議,旨在促進金融包容。該協議使用現實世界資產作為抵押,進行加密貨幣貸款。Goldfinch 社區向全球企業提供貸款,業務重點為新興市場。[2023/8/9 21:33:54]
首先如果全部參與人數沒有超過5000,那么最多只能挖100天。如果達到了5000,通過對參與人數進行對數運算,計算出對應的最大天數。對應于文檔中的:
adoptwombat Discord服務器已被入侵:金色財經消息,據CertiK監測,adoptwombat Discord服務器已被入侵,在公告中發布了一個釣魚網站,請不要點擊或與之互動。[2023/6/16 21:41:13]
最大參與時間計算公式
代碼中的?fromUInt()?和?log_2()?都來自于?ABDKMath64x64?庫。其中?fromUInt()?的代碼:
入參x有限制,這個最大值轉換為10進制是?9223372036854775807,全部參與人數不可能超過這個數,所有可以安全使用。
在構造的挖礦系數?mintInfo?中,_calculateRewardAmplifier()?和?_calculateEAARate()?也是實時計算的。
FIL突破9美元:金色財經報道,行情顯示,FIL突破9美元,現報9.02美元,日內漲幅達到20.91%,行情波動較大,請做好風險控制。[2023/2/19 12:16:13]
可以看到,越早參與,可以獲得到的?AMP?就越多,最開始一天是?3000,每過一天會減少?1,最終超過3000天就會恒定為?1。
對應于文檔中?AMP?的計算方式:
AMP計算公式
EAA計算公式
由于Solidity中沒有小數,因此在代碼中將其放大了?1000?倍,后面在?getGrossReward?方法中會再縮小?1000?倍。
BurnBNB:BNB實時銷毀量為14.95萬枚,約合5601.25萬美元:金色財經報道,BurnBNB發布推特表示,BNB實時銷毀量為14.95萬枚,約合5601.25萬美元。據悉,BNB的實時銷毀機制由BEP95提出,類似以太坊當前的EIP-1559銷毀機制。[2023/1/31 11:37:17]
到這里,我們可以看到,在用戶參與時間挖礦時,已經確定的數據有
用戶在全局中的位置參與時長,由用戶在參與時指定AMP,越早參與越大EAA,越早參與越大接下來我們來看用戶領取獎勵時的方法?claimMintReward():
校驗限制后,計算可得獎勵數量,然后?_mint?給用戶,計算獎勵數量的主要計算邏輯在?_calculateMintReward()?中:
Mobius Capital Partners聯合創始人:加密貨幣是投資者信心的衡量指標:金色財經報道,Mobius Capital Partners聯合創始人Mark Mobius周三在接受采訪時表示:如果你是股票交易員,現在或許應該把注意力轉向加密貨幣。Mobius認為,加密貨幣是投資者信心的衡量指標,當比特幣下跌,翌日道指便會下跌,由此形成了一個規律,反映比特幣是一個領先的指標。
至于如何使用這個“先行指標”,Mobius表示:只有在機構和散戶投資者真的“投降認輸”,因為虧損而不再向市場投錢的時候,信心才真的達到了最低點,這也是開始買進股票的時候。只要比特幣投資者仍然在談論逢低買進,那就意味著他們還懷著一絲希望,這也意味著,還沒有到達熊市底部。[2022/6/23 1:25:45]
這里我們先忽略?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:STASTAKSTAKEINTNode All-StarMarinade staked SOLHyperStakepaint幣行情
MarsBitCryptoDaily2022年10月14日 一、今日要聞 在zkSync上部署UniswapV3的提案獲得通過據相關頁面信息顯示.
1900/1/1 0:00:00概述:X-explore對所有價值到幣安的APTOS進行了成本來源分析,其中65%的資金為女巫地址入金,累積超過630WAPTToken,這給幣安帶來了嚴重拋壓,造成了價格一路上漲走低關系.
1900/1/1 0:00:00WhoknowsDAO專題策展第七篇,代幣經濟模型研究是基本面分析中的重要一節。簡單來說,代幣經濟學研究可以更好地幫你了解項目背后的貨幣“政策”.
1900/1/1 0:00:00今年6月份點燃幣圈熱潮的奧德賽活動,由于ArbitrumOne性能無法承載大量用戶交易,在活動開始一周后,便被迫暫停。超過30W地址參與了這次大型內卷活動.
1900/1/1 0:00:00先來一段梗暖暖場 你問我波場孫宇晨算什么東西?現在我就來告訴你,你火幣李林割不動的韭菜我孫哥來割,李林不敢發的幣我孫哥來發,李林不敢砸盤的我孫哥來砸盤.
1900/1/1 0:00:009月29夜間行情補充以太坊網絡當前已銷毀350.04萬枚ETH:金色財經報道,據ultrasound.money最新數據顯示,以太坊鏈上ETH銷毀總量已突破350萬枚,本文撰寫時達到3,500.
1900/1/1 0:00:00