[發明專利]一種區塊鏈智能合約升級方法、裝置及電子設備有效
| 申請號: | 202010840940.7 | 申請日: | 2020-08-20 |
| 公開(公告)號: | CN111949297B | 公開(公告)日: | 2023-04-07 |
| 發明(設計)人: | 王曉亮;陳昊 | 申請(專利權)人: | 杭州溪塔科技有限公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65;G06Q40/04;H04L67/1097 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 310005 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 區塊 智能 合約 升級 方法 裝置 電子設備 | ||
1.一種區塊鏈智能合約升級方法、所述方法包括:
發送交易以部署包括第一組持久化參數的第一合約,并獲取第一合約地址;
發送交易以部署包括第二組持久化參數的第二合約,并獲取第二合約地址;
發送數據遷移交易,其交易數據包括第一合約地址、第二合約地址、所述第一組持久化參數、第二組持久化參數;
執行所述數據遷移交易,將所述第一組持久化參數的內容賦值給所述第二組持久化參數;
發送并執行合約升級交易,其交易數據包括第一合約地址、第二合約地址、當前塊高度,其交易內容為將所述第一合約地址設置為所述第二合約地址的代理地址;發送至所述第一合約地址的交易,轉發至第二合約地址來執行;發送至所述第二合約地址的交易,不予執行;
將所述第一合約地址設置為所述第二合約地址的代理地址前,所述方法進一步包括:
判斷所述第二合約是否為其他智能合約的代理合約,若是,則報錯;和/或,判斷所述第二合約是否已經被其他智能合約所代理,若是,則報錯。
2.如權利要求1所述的方法,進一步包括:參照所述第一組持久化參數中需要遷移的內容,在所述第二組持久化參數中設置對應的參數類型。
3.如權利要求2所?述的方法,其中執行所述數據遷移交易,將所述第一組持久化參數的內容賦值給所述第二組持久化參數之前進一步包括:
判斷待遷移內容的數據類型與所述第二組持久化參數的參數類型是否相同,如果相同,則繼續進行數據遷移,如果不同,則報錯。
4.一種區塊鏈智能合約升級裝置、所述裝置包括:
第一合約部署單元:用于發送交易以部署包括第一組持久化參數的第一合約,并獲取第一合約地址;
第二合約部署單元:用于發送交易以部署包括第二組持久化參數的第二合約,并獲取第二合約地址;
數據遷移單元:用于發送數據遷移交易,其交易數據包括第一合約地址、第二合約地址、所述第一組持久化參數、第二組持久化參數;并執行所述數據遷移交易,將所述第一組持久化參數的內容賦值給所述第二組持久化參數;
合約升級單元:用于發送并執行合約升級交易,其交易數據包括第一合約地址、第二合約地址、當前塊高度,其交易內容為將所述第一合約地址設置為所述第二合約地址的代理地址;其中發送至所述第一合約地址的交易,轉發至第二合約地址來執行;發送至所述第二合約地址的交易,不予執行;
所述裝置進一步包括代理合約判斷單元:用于將所述第一合約地址設置為所述第二合約地址的代理地址之前,判斷所述第二合約是否為其他智能合約的代理合約,若是,則報錯;和/或
判斷所述第二合約是否已經被其他智能合約所代理,若是,則報錯。
5.如權利要求4所述的裝置,進一步包括參數設置單元:用于參照所述第一組持久化參數中需要遷移的內容,在所述第二組持久化參數中設置對應的參數類型。
6.如權利要求5所述的裝置,進一步包括數據類型判斷單元:用于將所述第一組持久化參數的內容賦值給所述第二組持久化參數之前判斷待遷移內容的數據類型與所述第二組持久化參數的參數類型是否相同,如果相同,則繼續進行數據遷移,如果不同,則報錯。
7.一種電子設備,包括:
一個或多個處理器;
存儲器,用于存儲一個或多個計算機程序;
當所述一個或多個計算機?程序被所述一個或多個處理器執行時,使得所述一個或多個處理器執行如權利要求1-3中任一項所述的方法。
8.一種存儲有計算機程序的存儲介質,其特征在于,該程序被處理器執行時實現如權利要求1-3中任一項所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州溪塔科技有限公司,未經杭州溪塔科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010840940.7/1.html,轉載請聲明來源鉆瓜專利網。





