本文作者:區塊鏈行業專業打雜-為理想而活
為什么要升級合約?
根據設計,智能合約是不可變的。另一方面,軟件質量在很大程度上取決于升級和修補源代碼以生成迭代版本的能力。盡管基于區塊鏈的軟件從技術的不變性中獲益匪淺,但修復錯誤和潛在的產品改進仍然需要一定程度的可變性。OpenZeppelinUpgrades通過為智能合約提供易于使用、簡單、健壯和可選的升級機制來解決這一明顯的矛盾,該機制可以由任何類型的治理控制,無論是多重簽名錢包、簡單地址還是復雜的DAO。
首次部署
需要部署三個合約,分別是邏輯合約,代理管理合約,代理合約。邏輯合約就是我們自己的業務合約,需要滿足OpenZeppelin可升級合約的條件。以下業務合約以邏輯合約為例進行說明。本文使用remix部署合約,如需快速部署請參考:用Hardhat進行升級部署|登鏈社區
Meta因向美國傳輸數據被歐盟監管機構罰款13億美元:5月22日消息,據知情人士透露,歐盟隱私監管機構因Meta Platforms(FB.O)向美國發送用戶信息而對其處以13億美元的罰款,創下了歐盟罰款的最高紀錄。這項裁決預計將于周一晚些時候宣布,它將給美國政府帶來壓力,使其無法敲定一項協議,該協議允許Meta和數千家跨國公司繼續向美國境內發送此類信息。(華爾街日報)[2023/5/22 15:19:02]
第一步,邏輯合約
首先部署邏輯合約。
//SPDX-License-Identifier:MITpragmasolidity^0
mapping(string=>uint256)privatelogic;eventlogicSetted(stringindexed_key,uint256_value);functionSetLogic(stringmemory_key,uint256_value)external{logic=_value;emitlogicSetted(_key,_value);}functionGetLogic(stringmemory_key)publicviewreturns(uint256){returnlogic;}functionGetInitializeData()publicpurereturns(bytesmemory){returnabi
美聯儲報告:金融市場存在大量流動性風險,穩定幣等仍然容易受到擠兌沖擊:5月9日消息,美聯儲周一警告稱,銀行業對經濟增長放緩的擔憂可能導致貸款發放減少,進而引發經濟加速下滑。這是自四家地區性銀行倒閉以來,美聯儲發布的第一份金融穩定報告。
該報告稱,銀行融資總體上保持相對穩定,但金融市場其他角落存在大量流動性風險。總體而言,國內銀行流動性充裕,對短期批發融資的依賴有限,報告稱。短期融資市場仍然存在結構性脆弱。優質和免稅的貨幣市場基金,以及其他現金投資工具和穩定幣,仍然容易受到擠兌沖擊。壽險公司面臨較高的流動性風險,因為風險性和非流動性資產所占比例仍然處于高位。[2023/5/9 14:51:04]
}
選中邏輯合約并部署。
過去24小時NFT平臺Blur交易額近1400萬美元,超過OpenSea:金色財經報道,據NFT交易數據顯示,過去24小時新晉NFT平臺Blur交易額達到1386萬美元,漲幅達到339.84%,也是過去24小時交易額最高的NFT平臺。相比之下OpenSea同期交易額為686萬美元,下降2.81%,排名第二;X2Y2、Magic Eden和LooksRare分列三到五名,交易額分別為247萬美元(上漲48.42%)、187萬美元(下降9.38%)和137萬美元(上漲111.27%)。[2022/12/11 21:36:57]
image
image.png
部署新的業務合約,結束后應有三個邏輯合約實例
SWIFT金融報文系統試點區塊鏈項目:9月13日消息,SWIFT正在與金融科技公司Symbian Inc.試點一個項目,此次合作包括花旗集團(Citigroup Inc.)、先鋒集團(Vanguard)和北方信托(Northern Trust),目的是提高“溝通重大企業事件的效率”,如股息支付和合并。
在最新的試點項目中,SWIFT將使用Symbian的技術平臺Assembly實現企業行動工作流的自動化。SWIFT將利用該平臺的智能合約和區塊鏈功能創造一種網絡效應。來自SWIFT報文的企業行為數據將由SWIFT的翻譯工具翻譯并上傳到Symbiont的區塊鏈中。(彭博社)[2022/9/14 13:27:45]
image.png
新的邏輯合約地址:0xb27A31f1b0AF2946B7F582768f03239b1eC07c2c
替換舊的邏輯合約
此時調用部署好的管理合約進行升級,此合約提供了兩個升級方法
upgrade,需要傳入proxy地址,新的邏輯實現地址。
upgradeAndCall,需要傳入roxy地址,新的邏輯實現地址,初始化調用數據。
由于數據是保存在代理合約中,這份數據已經初始化過了,不需要再初始化,所以調用upgrade方法即可,傳入參數如下:
代理合約地址:0xddaAd340b0f1Ef65169Ae5E41A8b10776a75482d
新的邏輯合約地址:0xb27A31f1b0AF2946B7F582768f03239b1eC07c2c
測試新邏輯合約
此時升級已完成,也是最后一步。
此時不需要修改任何地方,只需要使用已經傳入代理合約地址的AtAddress方法。
image.png
生成后將有四個邏輯合約實例:1.首次部署的邏輯合約,2.代理后的邏輯合約,3.部署的新邏輯合約,4.以升級的邏輯合約
調用生成的新邏輯合約中的GetLogic方法,傳入,此時應返回100,這證明您的合約以成功升級,因為舊的邏輯合約傳入了,修改后的邏輯合約中GetLogic方法在返回值上加上了,若為99證明升級失敗。
至此,可升級的代理合約就部署并測試完成。
參考資料
區塊鏈行業專業打雜-為理想而活:https://learnblockchain.cn/people/1877
用Hardhat進行升級部署|登鏈社區:https://learnblockchain.cn/article/2908
免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。
本文來源于非小號媒體平臺:
登鏈社區
現已在非小號資訊平臺發布105篇作品,
非小號開放平臺歡迎幣圈作者入駐
入駐指南:
/apply_guide/
本文網址:
/news/10311795.html
免責聲明:
1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
上一篇:
每周編輯精選WeeklyEditors'Picks
今日,ARMOR,CGG,JULD,AME,BIFIF已正式上線USDT、ETH交易池,并開啟新版流動性礦池獎勵.
1900/1/1 0:00:00尊敬的用戶: 藝術與科技融合發展,總會在某一刻出現新力量、新思潮,NFT加密藝術就是時下的新潮.
1900/1/1 0:00:00尊敬的Bibox用戶: Bibox創新區將于2021年9月8日(UTC8)上線Lumenswap(LSP).
1900/1/1 0:00:00尊敬的用戶: 幣虎將上線GKCAKE,并開通GKCAKE/USDT交易市場,具體詳情如下:1.開放充幣:2021年9月7日14:00;2.開放交易:2021年9月7日18:00;3.開放提幣:2.
1900/1/1 0:00:00尊敬的社區用戶: 為滿足廣大用戶交易需求,BHEX將于2021年9月3日09:30在新USDT本位合約交易區上線AVAXUSDT、NEARUSDT、MATICUSDT、MDXUSDT、SRMUS.
1900/1/1 0:00:00Gate.io“芝麻金融”雙幣寶理財服務現已推出BTC/USDT、ETH/USDT雙幣投資理財產品,今日BTC專區產品持倉期限7-21天,掛鉤參考價格為42000-60000美元.
1900/1/1 0:00:00