本文作者:區塊鏈行業專業打雜-為理想而活
為什么要升級合約?
根據設計,智能合約是不可變的。另一方面,軟件質量在很大程度上取決于升級和修補源代碼以生成迭代版本的能力。盡管基于區塊鏈的軟件從技術的不變性中獲益匪淺,但修復錯誤和潛在的產品改進仍然需要一定程度的可變性。OpenZeppelinUpgrades通過為智能合約提供易于使用、簡單、健壯和可選的升級機制來解決這一明顯的矛盾,該機制可以由任何類型的治理控制,無論是多重簽名錢包、簡單地址還是復雜的DAO。
首次部署
需要部署三個合約,分別是邏輯合約,代理管理合約,代理合約。邏輯合約就是我們自己的業務合約,需要滿足OpenZeppelin可升級合約的條件。以下業務合約以邏輯合約為例進行說明。本文使用remix部署合約,如需快速部署請參考:用Hardhat進行升級部署|登鏈社區
DigiDaigaku 母公司 Limit Break 完成對 NFT 平臺 FreeNFT 的收購:金色財經報道,NFT 項目 DigiDaigaku 母公司 Limit Break 首席執行官 Gabriel Leydon 發推稱,Limit Break 已完成對 NFT 平臺 FreeNFT 的收購,擬具體收購金額暫未對外公布。FreeNFT 是一個 Free to Own 生態的 Launchpad,DigiDaigaku 曾在該平臺上抽獎。
收購完成后,FreeNFT 仍將免費供開發人員使用,Limit Break 除了營銷和內容創作協助之外,還將為該平臺提供智能合約服務,包括合約編寫、鑄幣托管、集成 ERC-721、以及可編程版稅解決方案。[2023/3/15 13:05:27]
第一步,邏輯合約
數據:三未知地址向幣安轉入約9000萬美元BNB:11月8日消息,Lookonchain監測顯示,3個“0x05d3”、“0x090”和“0xb4b3”此前沉睡的地址剛剛被喚醒,向幣安累計轉入263247枚BNB(約8950萬美元)。[2022/11/8 12:31:16]
首先部署邏輯合約。
//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
8月以太坊鏈上交易額不足5億美元,創過去12個月內最低紀錄:9月1日消息,據Cryptoslam數據顯示,8月以太坊鏈上交易額為483,223,746.85美元,創下自2021年8月以來的最低紀錄。數據顯示,過去12個月內,以太坊鏈上最高月交易額發生在2022年1月,當月交易額為3,758,749,044.13美元。[2022/9/1 13:01:37]
}
選中邏輯合約并部署。
image
image.png
部署新的業務合約,結束后應有三個邏輯合約實例
image.png
新的邏輯合約地址:0xb27A31f1b0AF2946B7F582768f03239b1eC07c2c
瑞士豪華鐘表制造商Hublot發推展示‘Hublot.eth“ENS域名:5月20日消息,瑞士頂級腕表品牌宇舶表(Hublot)在其社交網站發圖展示其 ENS 域名,并配文’Hublot.eth 加入聊天”。據 OpenSea 數據顯示,Hublot.eth 于 5 月 10 日在 OpenSea 上以 2 WETH 的價格成交。
Hublot 是瑞士頂級腕表品牌,誕生于 1980 年,該公司作為法國路威酩軒(LVMH)集團全資子公司運營。
此前報道,4 月 2 日,Hublot 官方在社交媒體上發文表示,將與日本當代藝術家村上隆合作推出兩款 NFT 集合。[2022/5/20 3:31:12]
替換舊的邏輯合約
此時調用部署好的管理合約進行升級,此合約提供了兩個升級方法
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
Tags:GICLOGICBLOUBLDIGICHAINChronologicBlockBankRepublic of Dogs
9月2日下午,《N-POWER第一屆OdailyNFT線上加密論壇》成功舉行。本次活動邀請到多個熱門鏈游項目、加密藝術交易平臺、新生態公鏈、知名投資機構等參與活動,揭秘市場投資趨勢,展望NFT生.
1900/1/1 0:00:00一、項目介紹 PETGAMES的靈感來自《數碼寶貝》,我們的使命是建立一個全面的數字寵物平臺,使數百萬個人能夠以簡單、創造性和愉快的方式參與NFTs和基于區塊鏈的游戲世界.
1900/1/1 0:00:00尊敬的用戶: WBF將在開放區掘金板塊上線PVU/USDT交易對,具體上線時間如下:充值時間暫不開啟提幣時間:2021/9/316:20交易時間:2021/9/316:20 項目介紹: 植物大戰.
1900/1/1 0:00:00親愛的KuCoin用戶:我們很高興地宣布,KuCoin將上線Balancer(BAL)項目并支持交易對BAL/USDT,BAL/BTC和BAL/ETH.
1900/1/1 0:00:00據海外消息報道,近日,柬埔寨商務考察團抵達迪拜,考察阿聯酋的貿易環境、經濟形勢、尋求雙方開拓海外市場的契機,并舉行了多場重要高峰會談.
1900/1/1 0:00:009月3日下午,《N-POWER第一屆Odaily?NFT線上加密論壇》成功舉行。本次活動邀請到多個熱門鏈游項目、加密藝術交易平臺、新生態公鏈、知名投資機構等參與活動,揭秘市場投資趨勢,展望NFT.
1900/1/1 0:00:00