yEarn Finance 的獎勵如何領取?
yearn finance 的治理合約,不只處理投票還允許 YFI 的持有者能夠領取協議的手續費作為獎勵。具體的 UI 操作可以去 https://ygov.finance/,而合約的位置在這:
https://etherscan.io/address/0xba37b002abafdd8e89a1995da52740bbc013d992
所以要領取獎勵,我們必須要先質押持有的 YFI(畫面中的 Stake Tokens),但是真正領取獎勵時,底層的方法 getReward
實際上會去檢查 voteLock[msg.sender]
是否有一個超過當前區塊高度的數字。這個值預設會是 0,而投票之後,會設為一個 17280 區塊後的數字(也就是大約三天後)。
function getReward() public updateReward(msg.sender) {
if (breaker == false) {
require(voteLock[msg.sender] > block.number,"!voted");
}
uint256 reward = earned(msg.sender);
if (reward > 0) {
rewards[msg.sender] = 0;
token.safeTransfer(msg.sender, reward);
emit RewardPaid(msg.sender, reward);
}
}
所以要領取獎勵,勢必要進行投票。而領取的期限會是投票後的三日內。另外這個 breaker
則是一個由 governor (當前是一個由 Gnosis Safe 控制的多簽合約) 控制的參數,緊急時刻(例如升級合約)可以打開,讓大家可以不用投票就提出資產。
不過一但進行了質押,就獲得了獎勵累積的權利,也就是獎勵還是屬於質押者擁有,但是要提領出來就需要投票,所以也可以選擇不領,只進行質押。
當前的獎勵有 ~24954 yCRV,其實並沒有很多。目前獎勵的累積方式都是透過 yEarn 的 Deployer 手動轉移到治理合約,未來應該會自動化。
— — —
yearn finance 旗下的所有產品其實都很複雜,可以說是 Andre 刻意為之,很多功能其實要挖深到合約層才有辦法瞭解具體怎麼運作。
這對 “想要使用且有能力使用“ 的用戶當然是有意義的,用戶必須要親自去驗證每個方法的實作才能跟合約互動。不過對於一般非專業的用戶(例如:只會操作 MetaMask),那就隱含很多風險了,請小心為上,不要操作自己不懂的東西,也不要放過多的資產在完全陌生的合約裡。
— — —
順帶一提,日後文章都會不定時的同步到電子報
是免費的!歡迎訂閱 👉 https://bit.ly/3ghph4x