本文源自純機器翻譯,純粹用於理解Keep3r之用。
今天YFI創始人AC推特轉發了一篇文章,以下純機器翻譯,可以用於理解Keep3r項目。
原文作者:Carlos Sessa,以下純機器翻譯,純粹用於理解Keep3r之用。
原文連結:https://macarse.medium.com/the-keep3r-network-experiment-bb1c5182bda3
我最近一直在使用Keep3r網絡,我想分享我的發現。我從閱讀Andre的博客文章和文檔開始,但是我一無所獲。這是我嘗試解釋Keep3r網絡對我有用的原因,希望它能幫助您了解全局。
讓我們通過研究我的兩個用例直接跳入其中。
幾周前,我們使用Yearn v2代碼部署了Hegic Vault /策略。在結束之前,保險庫有兩種策略:
作為斯特拉牛逼egist,我不得不採取監視這兩個策略和呼叫護理收穫()上他們的時候:
保管箱v2允許每個保管庫最多20個策略。每當發生這種情況時,策略師就需要同時監視幾種策略。確保調用了Harvest()。
這需要自動化!
要了解Hegic用例,讓我們看一下選項的生命周期。愛麗絲以24hs的到期價格購買1 ETH的ETH認購權,行使價為600。Hegic協議通過鎖定池中的資本來創建選項並將其存儲。24小時過去了,愛麗絲無法行使選擇權,因為以太坊價格一直低於行使價。此時,系統內的選項仍處於活動狀態,並在不再需要ETH時將其鎖定。Hegic協議允許任何人調用unlock(optionID)釋放鎖定的資金並將該選項標記為已過期。但是,誰負責解鎖愛麗絲的選擇,以釋放鎖定資金?我想這是莫莉手動完成的。如果沒有Molly,則參加者不會立即收到保費。另外,可能不會創建期權,因為聯儲資金已鎖定,因此無法被新的期權合約鎖定。
這需要自動化!
來吧,卡洛斯!您可以創建一個腳本!
對於年度用例,您可以創建一個cron作業,並每24小時致電一次。
對於Hegic,用例:
維護cron作業並非易事,因此讓我們看看Keep3r提供了什麼。
在完成本節之前,我們需要澄清兩件事:1)我不會詳細介紹Yearn v2 keep3r的工作原理。您可以在這裡找到代碼:https : //github.com/Macarse/GenericKeep3rV2。
2)如果您需要了解keep3r的基礎知識,則Ceazor7播放了一個不錯的視頻:https : //www.youtube.com/watch?v= hQFXyiuQGC4。
起初,我不知道自己在處理什麼。
飼養員會理解衛生代碼嗎?
我是否需要提供一些輔助方法來指導正確的工作流程?
默認激勵措施足以使他們接手工作嗎?
我首先為Hegic創建了keep3r的最簡單實現。
您可以在https://github.com/Macarse/hegicKeep3r/releases/tag/0.0.1中找到帶標記的代碼。
我將只關注ETH選項代碼,因為它與WBTC相同。
代碼中兩個最重要的方法如下:
函數ethOptionUnlockable(uint256 _optionId)外部覆蓋視圖返回(布爾){選項內存option = IHegic(ethOptions).options(_optionId);return option.state == State.Active &&option.expiration <block.timestamp;}
這使Keeper可以檢查選項是否可以解鎖。
要解鎖,該選項必須仍處於活動狀態,並且到期時間應該是過去的時間。
函數ethUnlock(uint256 _optionId)外部覆蓋paysKeeper {IHegic(ethOptions).unlock(_optionId);}
管理員將調用以上函數以調用Hegic協議上的unlock(),並且由於該方法包含paysKeeper修飾符,因此它將負責向管理員支付一些kp3r。管理員可以使用隨機optionId調用此方法嗎?是的,但如果optionId不能被解鎖後,Hegic協議恢復的TX。
經過一些本地測試後,我將合同部署到
https://etherscan.io/txs?a=0x5E6B1Ce8E608D4EEEFA7e403c6f4FfC7AEA022C1。
由於此刻的keep3r gov僅僅是Andre,因此我在TG中對他進行了ping操作,並請他將作業添加到網絡中。這項工作以10個KP3R積分開始,供飼養員耕種。
令我驚訝的是,幾個小時後,一位管理人員了解了邏輯並開始致電我的合同。第一個解鎖是這個
https://etherscan.io/tx/0xbe91359b02e6b3fe2e3feacfcb4892611ee8eb80424ead8d492007722828d99bdd
管理員花費了0.018.84628 ETH(6.07 USD)和58.8 gwei的汽油價格來解鎖optionId =368。如果我們籤入Hegic協議,則optionId 368為:
Amount:15 ETHType:PUT行使價:383.07 USD到期:2020年11月24日星期二9:52:35 PM GMTPremium:1.11045 ETH
我的keep3r合同向管理員支付了0.070689336476052217 KP3R($ 15.12)太酷了!
然後我們得到:
https : //etherscan.io/tx/0xa433fc5f33a16fde75563274969e729b3f740b90853eaab17f1e337d621e2976解鎖選項ID 885,即1 ETH。我們還為此支付了大約15美元。那不酷!
我的工作完全由一個唯一的管理者主導:0xfe56我很快意識到我的算法過於幼稚,而0xfe56會耗盡我的工作信譽。沒有辦法消除工作中的學分,所以我只看了整件事。
發生了一些有趣的事情:
1)0xfe56嘗試同時解鎖相同的選項ID(925)!https://etherscan.io/tx/0x83b2b8a972343f6c7d3bc2245c71019edab1dffd9d7ef58a9b2854fecb04e562https://etherscan.io/tx/0xf8451c493449a0cf1d56dc1817c68d5c96126099cda06a4b6
向每個認為運行腳本很容易的人歡呼。?
2)在某一點上的另一個門將參加了比賽,但被0xfe56擁有:
:失敗者TX從0xd8
https://etherscan.io/tx/0xd42ce60199c578cedf436a05bfb1a73fdd09a4e44d8c8ea38c39e2c4200d951e從0xfe56得主TX:
https://etherscan.io/tx/0x38eed57ee8787621ffbb97c3af152aaab6d220da4c75da58a1eff2ea0353b847
3)當工作用盡信用時,老闆一直打來電話,浪費他們的錢在被拒絕的傳真上。如果keep3r作業無法支付老闆的薪水,則將整個tx還原。示例:
https://etherscan.io/tx/0x7010cf128762b5e5a9be245f86c75ee5262c2753b31a1c4c0ac122a4ed8eb4b6
學分用完後,我要求安德烈(Andre)刪除工作並開始從事v2的工作。
1)釋放多少資本與為工程支付的價格之間沒有關係。一個瘋狂的例子:如果汽油價格高,管理員可能會為2 ETH解鎖1 ETH選項。
2)飼養員不需要考慮汽油是否很高,因為他們可以獲得更多的回報,因此甚至使他們受益。交易的最大成本為汽油費* 1.1。這意味著,如果燃氣很高,則保管人將獲得更高的報酬,從而更快地耗盡工作KP3R。
3)沒有考慮池使用情況。在Hegic協議中,當鎖定的ETH等於池總大小的80%時,無法創建選項。
當池使用率為10%時,以15美元的信用額度解鎖1 ETH是否有意義?
https://github.com/Macarse/hegicKeep3r/releases/tag/0.0.2上的代碼
在v1之後,我想要更智能的東西,並與其他Hegic開發人員討論之後,我想到了以下算法:
從PR複製並粘貼:
合同已部署在https://etherscan.io/address/0x13dAda6157Fee283723c0254F43FF1FdADe4EEd6,管理員將在數小時後開始發送有效的txs。?
這是最令我感興趣的TX:https ://etherscan.io/tx/0xca51a2c823df8ffa53dae576d01bf80284cee83da0475275679f6a9b8dd80ea9
守門員花費0.00 gpe 13 gwei的汽油價格花費了0.00708110079471 ETH(4.16 USD)來解鎖12個選項!
TX解鎖了60.0 ETH + 1.6701 ETH的溢價。keep3r合同支付了他們0.034741623257409949 kp3r,即7.423937473875932 USD。太酷了!
在完成了感恩節實驗之後,我了解到Keep3r不僅僅是一個自動化的工作框架。Keep3r是一個「請弄清楚」的工具。我可以指定一個問題,保管人將收費找到解決方案。我不知道他們如何組織選項列表並滿足我的算法,但是他們正在這樣做!
下一步可能是定製獎勵。也許是Hegic獎勵而不是KP3R??
謝謝閱讀!
感謝所有在旅途中幫助我的人❤