在過去兩年中,我幾乎每週都與試圖提升 Solidity / 智能合約開發技能的開發者進行一對一的視頻通話。 根據我的經驗,以下是開發者,即使是專業的開發者,理解 DeFi 代碼庫時所面臨的主要困難。 #1 他們的數學基礎薄弱,無法將代數表達式轉換為 Solidity 代碼。 代碼本身只是開發者期望系統運作的底層數學模型的一種表達。雖然數學可能很優雅,但 Solidity 對分數的支持有限,必須避免溢出/下溢,因此 Solidity 公式看起來與白皮書中的公式並不相同。 除非你理解代碼試圖做什麼,否則你無法理解代碼。 #2 他們在基本金融知識上基礎薄弱。 如果你無法將每年利息轉換為每秒利息,那麼某些常數就不會讓你理解。同樣,如果你根本不知道什麼是“槓桿”,你又怎麼能理解事情呢? #3 他們實際上不使用 DeFi。 這一點讓我有些驚訝,但至少有一半對學習 DeFi 感興趣的開發者並未超出基本使用。 是的,DeFi 是有風險的。但獲得直覺的最佳方法就是實際使用它。借出資金。借入資金。交換幣種。進行一些槓桿交易。 用你能承擔損失的資金來做這些,不要試圖一夜致富。 當你實際使用 DeFi 時,你會意識到狀態變化的“表面面積”並不像最初看起來那麼大。 #4 他們不理解保險庫的運作方式。 幾乎每個協議都使用某種“LP 份額”或其變體的概念。如果你不深入研究保險庫的數學,你將無法理解你所看到的一些代碼背後的邏輯(例如防止通脹攻擊的保護或為什麼/如何更新份額價格)。 如何解決這些問題: 1. 如果你害怕代數,解決這個問題。無需成為黑幫,但如果你無法將一個公式從一種形式轉換為另一種形式,你將會因此而變得緩慢。Solidity 開發者實際上需要數學,這與大多數全棧開發者不同。 2. 將代數轉換為 Solidity 代碼,並在其應該運作的範圍內進行測試。如果你遇到下溢/上溢或嚴重的四捨五入問題,找出原因。你的代碼在給定有效值時不應該回退。 3. 實際使用 DeFi。通過實踐學習,但只使用你能承擔損失的資金。使用 L2 而不是主網來節省燃料費。 4. 從頭開始編寫一個保險庫。你可以複製 Solmate 代碼庫,刪除保險庫代碼(ERC-4626),然後重新編寫,看看你的測試是否通過。
查看原文
6,829
138
本頁面內容由第三方提供。除非另有說明,OKX 不是所引用文章的作者,也不對此類材料主張任何版權。該內容僅供參考,並不代表 OKX 觀點,不作為任何形式的認可,也不應被視為投資建議或購買或出售數字資產的招攬。在使用生成式人工智能提供摘要或其他信息的情況下,此類人工智能生成的內容可能不準確或不一致。請閱讀鏈接文章,瞭解更多詳情和信息。OKX 不對第三方網站上的內容負責。包含穩定幣、NFTs 等在內的數字資產涉及較高程度的風險,其價值可能會產生較大波動。請根據自身財務狀況,仔細考慮交易或持有數字資產是否適合您。