• 雪崩時,沒有一片雪花覺得自己有責任

    Stanislaw Jerzy Lec

  • 遊戲運營
    如何讓玩家一直沉迷
    如何讓玩家拉幫結派
    如何讓玩家互相仇視
    如何讓玩家充值更多
    如何實現隱性的現金賭博和金幣交易

  • 遇事不決 量子力學

    量子社會學

    文昭論古論今

  • 有最壞的打算 做最好的準備 抱最大的希望

  • 好看的皮囊千篇一律 有趣的靈魂萬裡挑一

  • Raft PBFT

    Reliable, Replicated, Redundant, And Fault-Tolerant

    Practical Byzantine Fault Tolerant

  • 吃人一口,還人一斗 我思故我在

    字面上意思是說,受別人一點幫助,就要思考如何回報他更多。

    同義的:受人點滴,湧泉以報

    我覺得更值得更深入思考的是,

    當你輕易地要求別人的幫助時,你就得有心理準備,要返還十倍或更多。

    所以,當自己能做到,不輕易要求別人的幫忙。

    (說到這裡,小伙伴會覺得跟我以前說的”情感投入報酬”不一樣,情境不同暫不展開)

    這是台灣的俗語,用台語發音更有味道。

  • 瘋狂宇宙 我思故我在

    這個宇宙太瘋狂,大海掀翻了小池塘。

  • 區塊鏈是工具,要合理的使用;而非商品炒作。我思故我在

  • 賀賀郎,哇嗄哩供喂 我思故我在

    意思就是說,我是一個好好的、正常的人,我幹嘛跟你講話。

    一般用於朋友間小小辨論時,無法說服對方而使用。

    請不要企圖說服價值觀不在同個方向上的人或朋友。

OpenZeppelin 可昇級合約插件 3/9 在 Truffle 環境下使用插件

以太坊 ethereum andy 9个月前 (10-19) 572次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

OpenZeppelin 可昇級合約插件 3/9 在 Truffle 環境下使用插件

在 Truffle 環境下使用插件

本插件增加Truffle 的功能和測試,讓合約可以部署和昇級。但是目前還不支持 truffle 的擴展語法。
Truffle 擴展語法請參考 https://www.trufflesuite.com/docs/truffle/getting-started/writing-external-scripts

安裝

$ npm install --save-dev @openzeppelin/truffle-upgrades
本插件需要 Truffle v 5.1.35 以上。

在Truffle 環境中使用插件

在 Truffle 環境裡使用 deployProxy 函數來部署可昇級的合約。

OpenZeppelin 可昇級合約插件 3/9 在 Truffle 環境下使用插件

以上的代碼會自動檢查 Box 合約是否可以安全昇級,如果需要的話會設定合約管理員,會給 Box 合約部署功能合約,除非之前已經部署完成了。然後建立一個代理,並且調用 initialize(42) 來初始化代理合約
以後部署時,可以使用 upgradeProxy 函數來昇級合約到新的版本。這個新版本的合約,可以是完全不同的合約(可以想像是 BoxV2),也可以只修改 Box 然後重新編譯,插件會注意到檔案已經改變。

OpenZeppelin 可昇級合約插件 3/9 在 Truffle 環境下使用插件

以上的代碼讓插件比對 BoxV2 跟之前的合約比對,並確定這兩個合約是相容的可以昇級,部署 BoxV2 的功能實作合約(除非已經部署過了),然後昇級代理合約指向新的功能實作合約。

在 Truffle 的測試中使用插件

也可以在 Truffle 的測試中使用 deployProxy 和 upgradeProxy 函數,以下的代碼是為昇級合約加入測試,這個 API 跟 migration 時一樣,只是缺少了 deployer 參數

OpenZeppelin 可昇級合約插件 3/9 在 Truffle 環境下使用插件

參考

https://docs.openzeppelin.com/upgrades-plugins/1.x/truffle-upgrades


神隊友學長Andy , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:OpenZeppelin 可昇級合約插件 3/9 在 Truffle 環境下使用插件
喜欢 (0)
[[email protected]]
分享 (0)
andy
关于作者:
中年大叔,打拼 like young students.
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址