本文作者:區塊鏈行業專業打雜-為理想而活
為什么要升級合約?
根據設計,智能合約是不可變的。另一方面,軟件質量在很大程度上取決于升級和修補源代碼以生成迭代版本的能力。盡管基于區塊鏈的軟件從技術的不變性中獲益匪淺,但修復錯誤和潛在的產品改進仍然需要一定程度的可變性。OpenZeppelinUpgrades通過為智能合約提供易于使用、簡單、健壯和可選的升級機制來解決這一明顯的矛盾,該機制可以由任何類型的治理控制,無論是多重簽名錢包、簡單地址還是復雜的DAO。
首次部署
需要部署三個合約,分別是邏輯合約,代理管理合約,代理合約。邏輯合約就是我們自己的業務合約,需要滿足OpenZeppelin可升級合約的條件。以下業務合約以邏輯合約為例進行說明。本文使用remix部署合約,如需快速部署請參考:用Hardhat進行升級部署|登鏈社區
慢霧:過去一周Web3生態因安全事件損失約2400萬美元:6月19日消息,據慢霧發推稱,過去一周Web3生態系統因安全事件損失約2400萬美元,包括Atlantis Loans、Ben Armstrong、TrustTheTrident、FPG、Sturdy、Pawnfi、Move VM、Hashflow、DEP/USDT與LEV/USDC、Midas Capital,總計23,795,800美元。[2023/6/19 21:46:18]
第一步,邏輯合約
首先部署邏輯合約。
//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
分析:BitDAO擁有20億美元的第二大加密貨幣財庫:1月8日消息,Blockworks Research發推分析稱,BitDAO代幣BIT在過去14天上漲了47%,原因如下:
1. 12月27日,BitDAO社區關于BIT回購計劃的提案已開啟投票,目前該提案支持率為100%,投票將于12月31日結束。
據此前消息,該提案旨在作為其DAO部署戰略計劃的一部分,建議從2023年1月1日起,將每日目標購買額(TDPA)設定為200萬USDT,持續50天(總額為1億USDT)。購買BIT后,BitDAO財庫仍將持有3億美元的USDT/USDC和27萬枚ETH(約3.45億美元),應該足以覆蓋5年以上的BIT產品開發需求。
2. 該DAO實際上持有第二大加密貨幣財庫,擁有20億美元的多元化資產,包括大量的ETH、USDC、USDT和FTT。
3. BitDAO還致力于開發Mantle,這是一種利用EigenLayer的模塊化ETH L2。[2023/1/8 11:01:07]
}
廈門:數字人民幣交易額突破300億元:金色財經報道,中國人民銀行廈門市中心支行、廈門市金融監管局自4月初正式啟動數字人民幣試點,截至12月中旬,廈門全市企業和個人累計開立各類數字人民幣錢包158萬個,累計交易筆數663.1萬筆,累計交易金額突破300億元。[2022/12/20 21:55:48]
選中邏輯合約并部署。
image
image.png
部署新的業務合約,結束后應有三個邏輯合約實例
image.png
新的邏輯合約地址:0xb27A31f1b0AF2946B7F582768f03239b1eC07c2c
替換舊的邏輯合約
Ledger將推出款新硬件錢包Ledger Stax:金色財經報道,被稱為“蘋果iPod之父”的設計師TonyFadell將為Ledger設計硬件錢包Ledger Stax。Ledger Stax將配有電子墨水屏顯示器,以使用戶查看和管理加密資產和NFT。目前Ledger Stax正在接受預訂,定于明年3月上市,零售價為279美元。高于目前零售價為149美元的Ledger Nano X。iPod的發明者Fadell在18個月前參與了該產品的開發。(The Block)[2022/12/6 21:26:17]
此時調用部署好的管理合約進行升級,此合約提供了兩個升級方法
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
尊敬的客戶: 為提升用戶交易安全體驗,HuobiGlobal正式推出交易資產合規托管體驗活動,您在HuobiGlobal維持正常交易體驗的同時,您的交易資產將由火幣香港信托進行第三方托管.
1900/1/1 0:00:00近日Gate.ioNAFT/USDT流動性礦池已開啟自動做市商AMM模式,為鼓勵更多用戶積極參與,今日中午12:00,NAFT/USDT流動性礦池獎勵新增額外331.
1900/1/1 0:00:00元宇宙不是一個產品,而是互聯網的未來。「元宇宙」這個詞正在成為「風口」。這是個29年前就存在的科幻概念,隨著最近幾年吸納了日臻成熟的AI、AR/VR、區塊鏈等技術成果后,突然間就占領了創業者和資.
1900/1/1 0:00:00作為加密生態里的重要一環,加密貨幣交易所捕捉行業風口的能力最強,去年是DeFiSummer,今年則是NFTSummer.
1900/1/1 0:00:00親愛的CoinW用戶: 幣贏CoinW將于2021年9月7日0:00在DeFi區上線FutureSwap,開通FST/USDT交易對.
1900/1/1 0:00:00一、項目介紹 PETGAMES的靈感來自《數碼寶貝》,我們的使命是建立一個全面的數字寵物平臺,使數百萬個人能夠以簡單、創造性和愉快的方式參與NFTs和基于區塊鏈的游戲世界.
1900/1/1 0:00:00