市值: $2.1805T -1.29%
體積(24小時): $60.1052B -11.86%
恐懼與貪婪指數:

34 - 害怕

  • 市值: $2.1805T -1.29%
  • 體積(24小時): $60.1052B -11.86%
  • 恐懼與貪婪指數:
  • 市值: $2.1805T -1.29%
加密
主題
加密植物
資訊
加密術
影片
頂級加密植物

選擇語言

選擇語言

選擇貨幣

加密
主題
加密植物
資訊
加密術
影片

如何升級智能合約?

Smart contract upgradability enables developers to enhance functionality or fix bugs without altering the contract's address or state, using methods like proxy contracts, unstructured storage, or eternal storage patterns.

2025/07/24 02:01

了解智能合同升級性

智能合約是通過設計不變的,這意味著一旦部署在區塊鏈上,它們的代碼就無法更改。但是,升級智能合約是需要修復錯誤,改善功能或適應不斷變化條件的開發人員的至關重要要求。智能合約的升級性不是對現有合同的直接修改,而是涉及設計模式,該模式可以在保留合同的狀態和地址的同時改變邏輯。

有幾種方法可以實現這一目標,包括代理合同非結構化存儲代理永恆的存儲模式。每種方法都有其優點和缺點。開發人員必須仔細評估哪種方法最適合其用例,然後再將升級性升級到其智能合約中。

使用代理合同以升級

升級智能合約的最常見和安全方法之一是使用代理合同。這涉及部署兩個合同:持有國家和轉發電話的代理合同,以及包含實際邏輯的實施合同

  • 代理合同使用代理合同指向實施合同。
  • 部署包含智能合約邏輯的初始實施合同
  • 將代理合同的實施地址設置為指向實施合同的地址。
  • 需要升級時,請部署具有更新的邏輯的新實施合同
  • 更新代理合同的實施指針指向新的實施合同地址,而無需更改代理的地址或州。

此方法可確保用戶與相同的合同地址進行交互,而基礎邏輯可以無縫升級。

非結構化存儲代理模式

非結構化存儲代理模式是代理合同方法的高級版本。它使用存儲插槽來存儲實現地址,從而使其與意外覆蓋更加安全。

  • 在代理合同中定義特定的存儲插槽以存儲實施地址。
  • 在代理合同中編寫一個後備功能,該合同使用DelegateCall將所有功能調用轉發到實施合同。
  • 部署代理合同和初始實施合同。
  • 使用內聯裝配或預定義功能在指定的存儲插槽中設置實現地址
  • 要升級,請部署新版本的實現合同,並在存儲插槽中更新代理的實現地址。

該方法將代理的存儲與實施隔離,從而降低了存儲碰撞的風險並確保更安全的升級。

實施永恆的存儲模式

永恆的存儲模式將數據存儲與邏輯分開,從而使開發人員可以升級邏輯而不會影響數據。這對於數據持久性至關重要的長期合同特別有用。

  • 創建一個存儲所有數據變量的存儲合同
  • 制定通過功能調用與存儲合同相互作用的邏輯合同
  • 將邏輯合同鏈接到部署期間或通過註冊表合同期間的存儲合同
  • 當需要升級時,請部署新的邏輯合同並在註冊表或存儲合同中更新參考。
  • 確保新的邏輯合同遵循與先前版本相同的接口和數據結構,以保持兼容性。

這種模式為升級邏輯提供了靈活性,同時保持數據完整,使其非常適合複雜的分散應用程序。

升級智能合約的考慮因素

升級智能合約並非沒有風險。開發人員必須在實施升級之前考慮幾個關鍵因素:

  • 安全含義:任何升級機制都引入了潛在的攻擊向量。徹底審核代理和實施合同至關重要。
  • 訪問控制:升級的能力應僅限於受信任的實體。實施多簽名治理或時間表可以增強安全性。
  • 兼容性:新實施必須與現有數據結構和功能簽名兼容,以避免違反合同。
  • 測試:需要嚴格的測試以確保升級按預期工作,並且不會引入新的錯誤或漏洞。
  • 文檔:清晰的升級過程和機制的文檔對於將來的維護和透明度至關重要。

這些考慮因素有助於確保升級機制堅固,安全和可維護。

常見問題

誰能升級智能合同?不,升級智能合約的能力通常僅限於合同中定義的特定地址或角色。這些角色可能包括所有者地址,治理合同或多智錢包。

無需使用代理合同而可以升級性嗎?是的,儘管代理合同是最常見的方法,但其他方法(例如永恆的存儲方式或模塊化合同設計)也可以根據體系結構升級。

合同升級期間用戶資金會發生什麼?在升級期間,用戶資金仍然安全,因為代理合同維護相同的地址和狀態。基礎邏輯已更新,但存儲和平衡仍然不受影響。

在部署前如何測試智能合同升級?您可以通過模擬升級過程來測試本地區塊鍊或TestNet上的升級。使用Hardhat或Truffle等工具在受控環境中部署和測試代理和實施合同。

免責聲明:info@kdj.com

所提供的資訊並非交易建議。 kDJ.com對任何基於本文提供的資訊進行的投資不承擔任何責任。加密貨幣波動性較大,建議您充分研究後謹慎投資!

如果您認為本網站使用的內容侵犯了您的版權,請立即聯絡我們(info@kdj.com),我們將及時刪除。

相關知識

交易前如何計算LINK期貨爆倉風險?

交易前如何計算LINK期貨爆倉風險?

2026-07-30 04:39:50

市場波動模式1. Bitcoin的價格走勢通常與美國通膨報告和聯準會利率決策等宏觀經濟指標相關。 2. 在 Bitcoin 主導地位較低的時期,山寨幣估值經常表現出較大的波動,反映出投機行為加劇。 3. 交易所交易基金的批准立即引發流動性激增,特別是在幣安和 Coinbase 等主要中心化平台上。 ...

LINKUSDT永續合約資金費率是多少?

LINKUSDT永續合約資金費率是多少?

2026-07-29 07:40:14

市場波動模式1. Bitcoin 在 ETF 批准公告或重大交易所中斷等高流動性事件期間,24 小時視窗內價格波動通常超過 10%。 2. 當第 2 層匯總升級上線時,以太坊的波動性指數經常飆升,尤其是在部署後的前 72 小時內 Gas 費用減少超過 65% 的情況下。 3. 穩定幣脫鉤事件(例如矽...

AVAX合約強平價為何變動?

AVAX合約強平價為何變動?

2026-08-01 00:16:02

Bitcoin 減半機制1. Bitcoin 的協議強制執行固定的發行時間表,其中大約每 210,000 個區塊,區塊獎勵就會減少一半。 2. 該事件大約每四年發生一次,直接減少每個區塊新進入流通的 BTC 數量。 3.截至2020年減半,礦工每區塊獲得6.25 BTC;下一次減少將使其達到 3.1...

AVAX 期貨保證金要求是如何計算的?

AVAX 期貨保證金要求是如何計算的?

2026-07-23 15:40:03

AVAX 期貨保證金結構1. AVAX期貨保證金由兩個不同的部分組成:初始保證金和維持保證金。這些是根據當前市場價格、波動性、未平倉合約和合約規模即時計算的。 2. 初始保證金作為履約保證金,以彌補短期(通常是一個交易時段)內潛在的不利價格變動。它以頭寸名義價值的百分比表示。 3. 維持保證金設定為...

AVAXUSDT永續合約資金費率是多少?

AVAXUSDT永續合約資金費率是多少?

2026-07-31 15:00:04

定義及核心功能1. AVAX/USDT永續合約資金費率是一種定期支付機制,旨在將衍生性商品的交易價格與基礎AVAX現貨指數掛鉤。 2. 與傳統期貨不同,它的運作沒有到期日,並且依賴於即時對齊而不是基於時間的收斂。 3. 大多數主要交易所(包括 Binance、Bybit 和 OKX)每八小時計算一次...

ADA永續合約的最大槓桿是多少?

ADA永續合約的最大槓桿是多少?

2026-07-28 07:40:32

ADA 永續期貨槓桿因交易所而異,取決於司法管轄區、使用者層級和風險管理政策。截至 2026 年 7 月,主要平台實施不同的上限。特定於交易所的 ADA 槓桿限制1.幣安合約對ADA/USDT永續合約採用動態槓桿模型。具有 Tier-1 狀態的經過驗證的用戶可以獲得高達25 倍的槓桿。在 KYC 完...

交易前如何計算LINK期貨爆倉風險?

交易前如何計算LINK期貨爆倉風險?

2026-07-30 04:39:50

市場波動模式1. Bitcoin的價格走勢通常與美國通膨報告和聯準會利率決策等宏觀經濟指標相關。 2. 在 Bitcoin 主導地位較低的時期,山寨幣估值經常表現出較大的波動,反映出投機行為加劇。 3. 交易所交易基金的批准立即引發流動性激增,特別是在幣安和 Coinbase 等主要中心化平台上。 ...

LINKUSDT永續合約資金費率是多少?

LINKUSDT永續合約資金費率是多少?

2026-07-29 07:40:14

市場波動模式1. Bitcoin 在 ETF 批准公告或重大交易所中斷等高流動性事件期間,24 小時視窗內價格波動通常超過 10%。 2. 當第 2 層匯總升級上線時,以太坊的波動性指數經常飆升,尤其是在部署後的前 72 小時內 Gas 費用減少超過 65% 的情況下。 3. 穩定幣脫鉤事件(例如矽...

AVAX合約強平價為何變動?

AVAX合約強平價為何變動?

2026-08-01 00:16:02

Bitcoin 減半機制1. Bitcoin 的協議強制執行固定的發行時間表,其中大約每 210,000 個區塊,區塊獎勵就會減少一半。 2. 該事件大約每四年發生一次,直接減少每個區塊新進入流通的 BTC 數量。 3.截至2020年減半,礦工每區塊獲得6.25 BTC;下一次減少將使其達到 3.1...

AVAX 期貨保證金要求是如何計算的?

AVAX 期貨保證金要求是如何計算的?

2026-07-23 15:40:03

AVAX 期貨保證金結構1. AVAX期貨保證金由兩個不同的部分組成:初始保證金和維持保證金。這些是根據當前市場價格、波動性、未平倉合約和合約規模即時計算的。 2. 初始保證金作為履約保證金,以彌補短期(通常是一個交易時段)內潛在的不利價格變動。它以頭寸名義價值的百分比表示。 3. 維持保證金設定為...

AVAXUSDT永續合約資金費率是多少?

AVAXUSDT永續合約資金費率是多少?

2026-07-31 15:00:04

定義及核心功能1. AVAX/USDT永續合約資金費率是一種定期支付機制,旨在將衍生性商品的交易價格與基礎AVAX現貨指數掛鉤。 2. 與傳統期貨不同,它的運作沒有到期日,並且依賴於即時對齊而不是基於時間的收斂。 3. 大多數主要交易所(包括 Binance、Bybit 和 OKX)每八小時計算一次...

ADA永續合約的最大槓桿是多少?

ADA永續合約的最大槓桿是多少?

2026-07-28 07:40:32

ADA 永續期貨槓桿因交易所而異,取決於司法管轄區、使用者層級和風險管理政策。截至 2026 年 7 月,主要平台實施不同的上限。特定於交易所的 ADA 槓桿限制1.幣安合約對ADA/USDT永續合約採用動態槓桿模型。具有 Tier-1 狀態的經過驗證的用戶可以獲得高達25 倍的槓桿。在 KYC 完...

看所有文章

User not found or password invalid

Your input is correct