[發明專利]一種區塊鏈智能合約消息發布訂閱方法有效
| 申請號: | 202011063262.4 | 申請日: | 2020-09-30 |
| 公開(公告)號: | CN112214802B | 公開(公告)日: | 2023-04-28 |
| 發明(設計)人: | 夏琦 | 申請(專利權)人: | 電子科技大學 |
| 主分類號: | G06F21/64 | 分類號: | G06F21/64;G06F9/455 |
| 代理公司: | 電子科技大學專利中心 51203 | 代理人: | 周劉英 |
| 地址: | 611731 四川省成*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 區塊 智能 合約 消息 發布 訂閱 方法 | ||
1.一種區塊鏈智能合約消息發布訂閱方法,其特征在于,該方法在JVM虛擬機環境下執行,合約文件以JAR文件形式部署在以JAVA為開發語言的區塊鏈平臺上,且智能合約以接口的形式被程序調用;該方法在JVM虛擬機環境下的執行主要包括以下步驟:
S1)合約創建
S11)在該智能合約消息發布訂閱方法中,有一類智能合約會發送帶有特定主題的信息到其它智能合約,稱此類合約為合約A;另一類智能合約通過設定訂閱主題來接收推送消息,稱之為合約B,合約A、B分別作為該方法的推送方和訂閱方;
S12)智能合約S用來維護一張映射表,該表記錄了合約B以及合約B中訂閱的相關主題;
S13)任何一個合約B可以訂閱多個主題的信息;
S2)消息推送
S21)作為推送方的合約A在執行過程中,遇到有主題字段的上下文時,會觸發消息推送事件,并對智能合約S發起調用;
S22)智能合約S根據所維護的映射表,檢查是否有訂閱該主題的合約B;
S23)若檢索到符合條件的合約B,則合約S通過調用合約B中的方法,將合約A發來的對應主題的信息推送到合約B;否則,合約S對合約A的調用不做處理;
S3)主題策略
參與訂閱方案的智能合約S需要共同維護一張主題表,用來記錄該訂閱方案中的可被訂閱的主題,合約A僅對表中的主題觸發消息推送事件,同時合約B訂閱的主題必須存在于該主題表中;
其中,所述步驟S2)具體包括:
1)合約A在執行過程中,如果遇到帶有主題字段的上下文,會自動觸發emit函數,該函數主要功能是將上下文以(“topic”,“message”)鍵值對的形式發送到合約S;
2)合約S收到(“topic”,“message”)鍵值對,會調用本地的check方法,該方法用來檢查收到的topic是否儲存在本地的映射表中,若存在則返回true,否則返回false;
3)當check函數返回true值,則合約S需要調用訂閱該主題的合約B中的handle方法,將從合約A收到的message信息通過handle方法發送給合約B,至此合約B接收到訂閱主題的相關推送信息;
4)在該訂閱方案中,對合約A、合約B以及智能合約S中函數的調用都將以數據的形式記錄到區塊鏈,且不可篡改。
2.根據權利要求1所述的區塊鏈智能合約消息發布訂閱方法,其特征在于,所述步驟S1)中所述合約A是儲存在區塊鏈上的智能合約,由任何節點創建,該合約實例具有確定的地址以及相應的變量、方法,合約A是執行任意流程的智能合約。
3.根據權利要求2所述的區塊鏈智能合約消息發布訂閱方法,其特征在于,所述步驟S1)中所述合約B由消息的訂閱方創建,且在加入訂閱方案時需要指定訂閱主題,并根據該主題接收訂閱消息。
4.根據權利要求3所述的區塊鏈智能合約消息發布訂閱方法,其特征在于,所述步驟S1)中所述智能合約S在該方法中的合約A與合約B確定時由代碼創建生成,智能合約S的實質是維護一張訂閱方與訂閱主題的映射表,用來接收合約A發送的消息,并匹配主題轉發給合約B。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于電子科技大學,未經電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011063262.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:自適應頻偏跟蹤裝置以及接收機
- 下一篇:一種奧沙利鉑的純化方法





