本文作者:區塊鏈行業專業打雜-為理想而活
為什么要升級合約?
根據設計,智能合約是不可變的。另一方面,軟件質量在很大程度上取決于升級和修補源代碼以生成迭代版本的能力。盡管基于區塊鏈的軟件從技術的不變性中獲益匪淺,但修復錯誤和潛在的產品改進仍然需要一定程度的可變性。OpenZeppelinUpgrades通過為智能合約提供易于使用、簡單、健壯和可選的升級機制來解決這一明顯的矛盾,該機制可以由任何類型的治理控制,無論是多重簽名錢包、簡單地址還是復雜的DAO。
首次部署
需要部署三個合約,分別是邏輯合約,代理管理合約,代理合約。邏輯合約就是我們自己的業務合約,需要滿足OpenZeppelin可升級合約的條件。以下業務合約以邏輯合約為例進行說明。本文使用remix部署合約,如需快速部署請參考:用Hardhat進行升級部署|登鏈社區
重慶璧山聯合阿里元境啟動元宇宙內容創作大賽:7月8日消息,在2023世界人工智能大會“元宇宙產業創新論壇”上,重慶市璧山區與阿里元境共同宣布,正式啟動“元創之境 夢界空間”元宇宙“創想+”數字內容創作大賽,邀請社會各界人士打造元宇宙IP。[2023/7/8 22:25:30]
第一步,邏輯合約
首先部署邏輯合約。
//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
數據:某巨鯨地址再次買入499,875枚ARB:金色財經報道,據推特用戶余燼監測,某短線選手再次加倉ARB,該地址用60萬USDT買入499,875枚ARB。此前其花費119萬USDT買入1,002,673枚ARB,均價為1.187美元。[2023/5/29 9:47:42]
}
選中邏輯合約并部署。
image
image.png
部署新的業務合約,結束后應有三個邏輯合約實例
image.png
新的邏輯合約地址:0xb27A31f1b0AF2946B7F582768f03239b1eC07c2c
澳大利亞VentureCrowd擬募資1400萬美元以投資Web3市場:金色財經報道,澳大利亞風險投資公司VentureCrowd正在募資1400美元,旨在擴張東南亞市場并加大Web3和區塊鏈領域的投資,截至目前該風投已鎖定超過600萬美元資金。VentureCrowd表示,一旦這筆融資交易結束就將探索Web3市場,而且現在已經開始著手研究相關要素并將這一戰略視為“財富科技的未來”,包括現實世界資產代幣化、區塊鏈安全等。(businessnewsaustralia)[2023/3/21 13:16:55]
替換舊的邏輯合約
此時調用部署好的管理合約進行升級,此合約提供了兩個升級方法
upgrade,需要傳入proxy地址,新的邏輯實現地址。
美馬薩諸塞州提交法案擬創立“區塊鏈特別委員會”:金色財經報道,兩項與加密相關的法案被提交給美國馬薩諸塞州眾議院,第一項涉及創立“區塊鏈特別委員會”,第二項涉及“保護加密貨幣交易中的消費者”。據悉,名為“建立區塊鏈和加密貨幣特別委員會的法案”由馬薩諸塞州代表 Josh S. Cutler 和 Kate Lipper-Garabedian 提交,旨在馬薩諸塞州眾議院內成立一個指導小組來研究區塊鏈技術,成員包括眾議院議長、少數黨領袖和參議院議長,主要研究政府使用區塊鏈技術的可行性、有效性、可接受性和風險,數字資產和加密貨幣對馬薩諸塞州收入的潛在影響等。(cryptoslate)[2023/1/23 11:27:16]
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
Tags:區塊鏈GICLOGICTUR國內區塊鏈公司前十排名magic幣值得長期持有嗎Logic Tokenturingnetw
NFT領域蓬勃發展之際,我們隆重的向全球用戶宣布:Gate.io即將上線OpenPunks——一個公開創作的Punks頭像集合.
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尊敬的用戶: APL,GSX節點維護升級已完成,幣虎交易平臺已恢復APL和GSX充提幣業務。邀您體驗! 幣虎團隊 趙長鵬:行業需要適合其跨境性質的穩健、全面和全球一致的加密監管:1月24日消息,
1900/1/1 0:00:00據Newsbitcoin9月7日消息,跨國支付巨頭Visa宣布,正計劃將加密貨幣服務引入巴西的傳統銀行平臺.
1900/1/1 0:00:00親愛的大幣網(Dcoin)用戶:為了提升服務質量,進一步優化合約交易體驗,大幣網將于2021年9月8日16:30進行永續合約系統升級,預計時長為1小時.
1900/1/1 0:00:00據經濟參考網消息,9月2日,在2021年中國國際服務貿易交易會上美團推出了數字人民幣“解鎖”共享單車的新功能.
1900/1/1 0:00:00