這兩天XEN特別火,看了看代碼,相對比較簡單。這篇文章就來結合文檔來解讀一下合約代碼,僅做學習交流用。對于玩法還不熟悉的朋友可以先看看我昨天發的推文。
整個玩法分成兩部分,我這里將其區別為:
時間挖礦,也就是在參與時指定時間,時間到期后即可領取對應的XEN,唯一付出的成本就是gas費用和等待的時間stake挖礦,通過質押XEN來挖礦時間挖礦
先來看第一部分,時間挖礦。用戶通過調用?claimRank(uint256term)?來參與,term?代表用戶想要挖礦的天數,在這個時間到期之后才能領取XEN獎勵。
其中全局變量?globalRank?代表的是全局參與的總人數,只增不減。activeMinters?代表正在參與挖礦的人數,當用戶參與時間挖礦時增加?1,到期領取獎勵后減少?1。userMints?代表用戶的挖礦參數。我們看到,這里最短需要參與一天,最多參與的天數是通過?_calculateMaxTerm()?實時計算出來的。
數據:灰度GBTC負溢價率收窄為26.5%:金色財經報道,據Coinglass數據顯示,當前灰度總持倉價值約為273.28億美元,其中灰度比特幣信托基金(GBTC)的負溢價率為26.5%;ETH信托負溢價率為35.47%。此外,ETC信托負溢價為55.36%,LTC信托負溢價為33.8%。[2023/8/5 16:20:36]
首先如果全部參與人數沒有超過5000,那么最多只能挖100天。如果達到了5000,通過對參與人數進行對數運算,計算出對應的最大天數。對應于文檔中的:
最大參與時間計算公式
代碼中的?fromUInt()?和?log_2()?都來自于?ABDKMath64x64?庫。其中?fromUInt()?的代碼:
幣安杠桿將于6月22日下架FARM/BUSD、LSK/BUSD等逐倉杠桿交易對:6月15日消息,幣安公告稱,幣安杠桿將于6月22日14:00下架FARM/BUSD、LSK/BUSD、MBL/BUSD、PLA/BUSD、PUNDIX/BUSD等逐倉杠桿交易對,以及下架MBL/BUSD和PUNDIX/BUSD全倉杠桿交易對。[2023/6/15 21:39:36]
入參x有限制,這個最大值轉換為10進制是?9223372036854775807,全部參與人數不可能超過這個數,所有可以安全使用。
在構造的挖礦系數?mintInfo?中,_calculateRewardAmplifier()?和?_calculateEAARate()?也是實時計算的。
DCG已半價出售約25%灰度以太坊信托基金股份,籌款2200萬美元:2月7日消息,據英國《金融時報》援引美國證券備案文件稱,Digital Currency Group(DCG)開始出售其在其子公司灰度加密信托基金中的股份,以籌集資金償還Genesis債權人資金。
文件顯示,自1月24日以來,DCG主要出售了約25%的以太坊信托基金,已籌集高達2200萬美元資金,售價約每股8美元,遠低于每股16美元的市價。此外,DCG還開始出售其LitecoinTrust、Bitcoin Cash Trust、Ethereum ClassicTrust和Digital Large Cap Fund中較小的股份。[2023/2/7 11:51:59]
可以看到,越早參與,可以獲得到的?AMP?就越多,最開始一天是?3000,每過一天會減少?1,最終超過3000天就會恒定為?1。
對應于文檔中?AMP?的計算方式:
KyberSwap推出新協議KyberSwap Elastic,以提供更高效的流動性:7月24日消息,KyberSwap推出新協議KyberSwap Elastic,以提供更高效的流動性。據悉,KyberSwap Elastic確保流動性提供者可以通過使用代幣對的窄價格范圍來集中流動性。(Altcoin Buzz)[2022/7/24 2:34:37]
AMP計算公式
EAA計算公式
由于Solidity中沒有小數,因此在代碼中將其放大了?1000?倍,后面在?getGrossReward?方法中會再縮小?1000?倍。
到這里,我們可以看到,在用戶參與時間挖礦時,已經確定的數據有
用戶在全局中的位置參與時長,由用戶在參與時指定AMP,越早參與越大EAA,越早參與越大接下來我們來看用戶領取獎勵時的方法?claimMintReward():
NFT投資組合跟蹤平臺Floor完成800萬美元種子輪融資,Crypto.com等領投:金色財經報道,NFT 投資組合跟蹤平臺Floor 宣布完成 800 美元種子輪融資,6th Man Ventures 和 B Capital、Collab+Currency、Crypto.com 等領投。據悉,Floor 公司創始人是 Robinhood Crypto 首任 COO Christine Brwon,電子商務公司 Button聯合創始人兼首席執行官 Chris Maddern 和首席技術官 Sid Dabral 將擔任該公司聯席 COO。(decrypt)[2022/6/10 4:15:17]
校驗限制后,計算可得獎勵數量,然后?_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:STASTAKSTAKEINTAllStars DigitalpSTAKE Staked ATOMstake幣騙局int幣最新進度
EmmaCui是Web3加速器和新加坡風險投資基金LongHashVentures的創始合伙人。在開始她的銀行業職業生涯后,她遇見了加密貨幣并堅定地進入了加密行業.
1900/1/1 0:00:00Aptos最有意思的點,并不在于吹上天際的16萬TPS的交易并行模式BlockSTM,而在于它的每個區塊里沒有交易的原始數據.
1900/1/1 0:00:00一夜之間,海外投資機構對于AI的關注度重回幾年前的高點,甚至蓋過了今年以來的Web3投資熱點。那么AI與Web3的結合會有什么新火花?這篇CoinFund近期的深度研究文章向我們介紹了,AI+W.
1900/1/1 0:00:00Meme效應在加密圈有多強?馬斯克就是最好的例子。狗狗幣?和屎幣在馬斯克的一段持續喊單中,從底部上漲超百倍,并迅速火爆出圈,成就一眾造富神話.
1900/1/1 0:00:00MarsBitCryptoDaily2022年10月17日 一、今日要聞 ApeCoin擬將APE質押功能延遲2~4周推出ApeCoinDAO社區發起AIP草案.
1900/1/1 0:00:00引言:日益增長的趨勢 在SWIFT學院最近發布的一份報告《定義數字資產》中,拉夫堡大學商業和經濟學院教授AlistairMilne將數字資產定義為“?在共享加密安全賬本上直接持有和轉移的價值記錄.
1900/1/1 0:00:00