CN116743729A - 智能合约调用装置、系统及方法 - Google Patents
智能合约调用装置、系统及方法 Download PDFInfo
- Publication number
- CN116743729A CN116743729A CN202311014378.2A CN202311014378A CN116743729A CN 116743729 A CN116743729 A CN 116743729A CN 202311014378 A CN202311014378 A CN 202311014378A CN 116743729 A CN116743729 A CN 116743729A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- contract
- terminal
- intelligent
- calling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 244000035744 Hura crepitans Species 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000003993 interaction Effects 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 11
- 238000002955 isolation Methods 0.000 claims description 10
- 230000000903 blocking effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000026676 system process Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000012800 visualization Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims 2
- 230000006870 function Effects 0.000 abstract description 13
- 230000006978 adaptation Effects 0.000 abstract description 5
- 238000010276 construction Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 abstract description 5
- 238000000638 solvent extraction Methods 0.000 abstract description 3
- 230000000007 visual effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012856 packing Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 239000000306 component Substances 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 239000012535 impurity Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1059—Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了智能合约调用装置、系统及方法,涉及数字信息技术领域。本发明通过在智能合约调用终端部署终端沙盒环境,从而得到可信访问环境;运行环境能支持终端配置应用正常稳定运行;云端仅接收终端配置应用的访问,从而严格保证访问的闭环运行和运行环境的正常;通过B/S架构实现重要信息云端处理编辑;终端只作为操作端和显示端,对智能合约的构建全程在云端内部进行,避免了信息泄露的问题,并保证功能的丰富性;对智能合约结构进行分模块进行分割并记录分割步骤,将非重要项添加至杂余项并缓存至本地;进行分块以后,能对各合约模块进行单独适配,从而高效地进行合约管理和平台适配,且终端能查看在本地查看原始智能合约。
Description
技术领域
本发明涉及数字信息技术领域,尤其涉及智能合约调用装置、系统及方法。
背景技术
随着区块链技术的发展和普及,智能合约作为区块链应用的核心组件,被广泛应用于金融、供应链、物联网等领域;通过智能合约的使用,整个供应链过程可以实现自动化和透明化。每个参与方都可以在区块链上查看和验证交易信息,确保供应链的可追溯性和交易的不可篡改性;同时,智能合约的自动支付功能也可以提高效率,减少了传统支付和结算的复杂性和延迟。然而,传统的智能合约调用方式存在一些问题,包括繁琐的操作流程、缺乏直观的界面和不够安全可靠等,这无疑给智能合约技术推广带来了很大的阻力。
为此,申请号为:CN201910074994.4的发明专利申请公开了基于可视化界面的智能合约调用方法、装置及系统,当用户需要调用智能合约时,不需要开发相应的SDK应用程序,也不需要熟悉本地环境配置、参数配置等,仅需在用户终端的可视化界面中显示的可选区块链、每个可选区块链中的可选智能合约以及每个可选智能合约中的可选方法中选择目标区块链、目标智能合约、以及目标方法,并根据目标方法的调用参数输入具体的调用参数值,就可以实现对智能合约的调用。
但是,现阶段存在各种合约平台,用户需选择适合需求的智能合约平台;然而,各平台都有其独特的特性和约束条件,这就带来了合约适配困难的问题,并且在进行可视化构建的过程中,还存在安全性问题。
因此,有必要提供智能合约调用装置、系统及方法来解决上述技术问题。
发明内容
为解决上述技术问题,本发明提供的智能合约调用装置,包括智能合约调用终端和智能合约调用云端:其中,所述智能合约调用终端包括若干并分别与智能合约调用云端通信连接;
所述智能合约调用终端包括:终端硬件设备、终端沙盒环境和终端配置应用;其中,所述终端硬件设备用于提供终端硬件支持,包括终端处理模块、终端显示模块和终端控制模块;所述终端显示模块和终端控制模块分别与终端处理模块连接,并用于终端页面显示和终端设置调整;所述终端沙盒环境部署在终端处理模块中,并用于提供隔离沙盒和运行环境;所述终端配置应用部署在隔离沙盒中,并通过运行环境进行隔离运行;所述终端配置应用用于提供可信访问服务,并通过WEB应用程序与智能合约调用云端连接;
所述智能合约调用云端包括:服务器组和智能合约调用系统;其中,所述服务器组包括WEB服务器组、计算服务器组、存储服务器组,所述WEB服务器组用于提供支持WEB应用程序的服务器端组件,所述计算服务器组和存储服务器组用于提供存储与计算支持;所述智能合约调用系统部署在服务器组上,定向与各智能合约调用终端进行加密交互。
作为更进一步的解决方案,所述终端配置应用和智能合约调用系统共同组成B/S架构,所述终端配置应用将智能合约调用信息打包为Http请求发送给智能合约调用系统,所述智能合约调用系统根据业务逻辑处理智能合约调用信息,在云端构建对应的智能合约并通过Html发送反馈数据给智能合约调用终端,完成智能合约调用可视化。
智能合约调用系统,运用如上任一项所述的智能合约调用装置,所述智能合约调用系统包括:智能合约配置单元、智能合约编译系统、智能合约管理系统、智能合约上传系统和智能合约平台接口;其中,当所述智能合约调用终端连接到智能合约调用系统时,自动创建一个智能合约配置单元;所述智能合约配置单元用于提供配置空间,所述智能合约调用终端能在配置空间中对智能合约进行调用调试和校验,并输出通过校验后的智能合约;所述智能合约编译系统接受校验后的智能合约,并按照合约类型对智能合约进行合约分块,得到与智能合约对应的合约模块;所述智能合约管理系统对合约模块进行管理并提供全局支持环境,并将各环境及参数变量进行命名统一;所述智能合约上传系统用于将合约模块转化成满足需上传智能合约平台特性与约束条件的智能合约文件,所述智能合约平台接口用于对接各智能合约平台,完成智能合约调用上链。
作为更进一步的解决方案,所述智能合约配置单元包括:合约配置调用系统、智能合约配置空间和智能合约校验系统;其中,所述合约配置调用系统用于提供合约调用模板,所述智能合约配置空间用于提供智能合约调试支持,所述智能合约校验系统用于设备校验环境、校验条件和校验输入,并根据测试智能合约的输出判断是否满足校验输出,并再将校验结果返回至所述智能合约调用终端,所述智能合约调用终端根据校验结果完成对智能合约的调用调整。
作为更进一步的解决方案,所述智能合约编译系统按照各部分功能对智能合约进行分割,得到合约模块、分割描述项和杂余项;其中,所述合约模块包括:存储合约、接口合约和逻辑合约;所述存储合约用于描述存储类型、存储地址和存储逻辑;所述接口合约用于描述交互接口、交互逻辑和交互条件;所述逻辑合约用于描述数据响应规则和响应条件;所述分割描述项和杂余项缓存至智能合约调用终端本地;
所述智能合约管理系统包括:合约模块管理单元、合约限权管理单元、支持模块管理单元和合约全局管理单元;所述合约模块管理单元用于对合约模块进行管理,所述合约限权管理单元用于描述合约的代理、所有权和功能控制;所述支持模块管理单元用于提供合约支持,包括文档支持、加密解密支持、数字计算支持和编码解码支持。
作为更进一步的解决方案,所述智能合约上传系统根据平台特性与约束条件预设对应的打包逻辑,将所述智能合约管理系统中各合约按照打包逻辑进行打包,得到符合智能合约平台要求的智能合约上链文件;
所述智能合约上链文件通过智能合约平台接口上传至对应智能合约平台,所述智能合约调用终端查看上链合约时,下载获取智能合约上链文件并通过杂余项和分割描述项对合约还原,得到完整的智能合约。
智能合约调用方法,运用如上所述的智能合约调用系统,通过如下步骤完成智能合约调用上链:
步骤1:判断智能合约调用终端是否连接到智能合约调用系统;
若是,则自动创建一个智能合约配置单元;其中,智能合约配置单元用于提供配置空间;
若否,则循环监测智能合约调用终端的连接状态;
步骤2:智能合约调用终端在配置空间中对智能合约进行调用调试和校验;
步骤3:将通过校验后的智能合约输出至智能合约编译系统;
步骤4:智能合约编译系统接受校验后的智能合约,并按照合约类型对智能合约进行合约分块,得到与智能合约对应的合约模块;
步骤5:智能合约管理系统对合约模块进行管理并提供全局支持环境,并将各环境及参数变量进行命名统一;
步骤6:智能合约上传系统获取所需上传智能合约平台的平台特性与约束条件,并将合约模块转化成满足需上传智能合约平台特性与约束条件的智能合约文件;其中,平台特性包括各合约模块所使用的编译器及编译版本,约束条件包括各环境及参数变量的命名约束;
步骤7:智能合约平台接口获取所需上传智能合约平台对应的平台接口,并将智能合约文件通过平台接口进行上传;在完成上传并受到平台返回信息后,完成智能合约调用上链。
与相关技术相比较,本发明提供的智能合约调用装置、系统及方法具有如下有益效果:
1. 本发明通过在智能合约调用终端部署终端沙盒环境,从而得到可信访问环境;运行环境能支持终端配置应用正常稳定运行;终端配置应用是智能合约调用的专用终端,云端不接收其他途径的访问,从而严格保证访问的闭环运行和运行环境的正常;
2. 本发明通过终端和云端组成的B/S架构,实现重要信息云端处理编辑;终端只作为操作端和显示端,对智能合约的构建全程在云端内部进行,避免了信息泄露的问题,并且配置调用、配置环境均由云端集成提供,从而保证功能的丰富性;
3. 本发明对智能合约结构进行分析,提取最重要的三个版块进行分割,并记录分割步骤;其余非重要项添加至杂余项并缓存至本地;进行分块以后,能对各合约模块进行单独适配,从而高效地进行合约管理和平台适配,并保证本地终端能查看到最原始的智能合约。
附图说明
图1为本发明提供的智能合约调用系统的较佳示意图;
图2为本发明提供的智能合约调用终端的较佳示意图;
图3为本发明提供的智能合约管理系统的较佳示意图;
图4为本发明提供的智能合约上链文件的较佳示意图;
图5为本发明提供的基于合约模块交互的较佳示意图。
具体实施方式
下面结合附图和实施方式对本发明作进一步说明。
本实施例提供的智能合约调用装置,包括智能合约调用终端和智能合约调用云端:其中,所述智能合约调用终端包括若干并分别与智能合约调用云端通信连接;
所述智能合约调用终端包括:终端硬件设备、终端沙盒环境和终端配置应用;其中,所述终端硬件设备用于提供终端硬件支持,包括终端处理模块、终端显示模块和终端控制模块;所述终端显示模块和终端控制模块分别与终端处理模块连接,并用于终端页面显示和终端设置调整;所述终端沙盒环境部署在终端处理模块中,并用于提供隔离沙盒和运行环境;所述终端配置应用部署在隔离沙盒中,并通过运行环境进行隔离运行;所述终端配置应用用于提供可信访问服务,并通过WEB应用程序与智能合约调用云端连接;
所述智能合约调用云端包括:服务器组和智能合约调用系统;其中,所述服务器组包括WEB服务器组、计算服务器组、存储服务器组,所述WEB服务器组用于提供支持WEB应用程序的服务器端组件,所述计算服务器组和存储服务器组用于提供存储与计算支持;所述智能合约调用系统部署在服务器组上,定向与各智能合约调用终端进行加密交互。
需要说明的是:现有的针对智能合约的调用方案通常是采用可视化的构建方案,在本地根据可视化调整实现对智能合约调用,在本地生成对应的智能合约,并上传至智能合约平台;但是,终端本地很难保证环境的完整性和安全性,并且智能合约的重要信息缓存在终端本地很容易被窃取造成信息泄露;在进行本地调试时,其本地支持环境也不足以满足用户的各类需求。
为此,如图2所示,本实施例通过在智能合约调用终端部署终端沙盒环境,从而得到可信访问环境;终端配置应用能在隔离沙盒中独立运行不受不同类型终端的干扰,运行环境能支持终端配置应用正常稳定运行;终端配置应用是智能合约调用的专用终端,可以通过专用浏览器进行设置,智能合约调用云端不接收其他途径的访问,从而严格保证访问的闭环运行和运行环境的正常。
作为更进一步的解决方案,所述终端配置应用和智能合约调用系统共同组成B/S架构,所述终端配置应用将智能合约调用信息打包为Http请求发送给智能合约调用系统,所述智能合约调用系统根据业务逻辑处理智能合约调用信息,在云端构建对应的智能合约并通过Html发送反馈数据给智能合约调用终端,完成智能合约调用可视化。
需要说明的是:通过终端和云端组成的B/S架构,实现重要信息云端处理编辑;终端只作为操作端和显示端,对智能合约的构建全程在云端内部进行,避免了信息泄露的问题,并且配置调用、配置环境均由云端集成提供,从而保证功能的丰富性。
智能合约调用系统,运用如上任一项所述的智能合约调用装置,所述智能合约调用系统包括:智能合约配置单元、智能合约编译系统、智能合约管理系统、智能合约上传系统和智能合约平台接口;其中,当所述智能合约调用终端连接到智能合约调用系统时,自动创建一个智能合约配置单元;所述智能合约配置单元用于提供配置空间,所述智能合约调用终端能在配置空间中对智能合约进行调用调试和校验,并输出通过校验后的智能合约;所述智能合约编译系统接受校验后的智能合约,并按照合约类型对智能合约进行合约分块,得到与智能合约对应的合约模块;所述智能合约管理系统对合约模块进行管理并提供全局支持环境,并将各环境及参数变量进行命名统一;所述智能合约上传系统用于将合约模块转化成满足需上传智能合约平台特性与约束条件的智能合约文件,所述智能合约平台接口用于对接各智能合约平台,完成智能合约调用上链。
需要说明的是:本实施例通过智能合约配置单元实现合约的云端配置,用户能通过对终端进行调用操作,云端在智能合约配置单元中根据用户调用操作构建对应的智能合约,且各智能合约配置单元互不影响,从而保证灵活调用和独立性。
作为更进一步的解决方案,所述智能合约配置单元包括:合约配置调用系统、智能合约配置空间和智能合约校验系统;其中,所述合约配置调用系统用于提供合约调用模板,所述智能合约配置空间用于提供智能合约调试支持,所述智能合约校验系统用于设备校验环境、校验条件和校验输入,并根据测试智能合约的输出判断是否满足校验输出,并再将校验结果返回至所述智能合约调用终端,所述智能合约调用终端根据校验结果完成对智能合约的调用调整。
需要说明的是:传统本地调用需要花费大量时间进行环境部署,若未通过校验则还需要根据调用调整进行环境重新部署,这对于终端来讲会存在重复部署工作的问题;为此,本实施例将现有各平台的支持环境集成到调用系统中,并提供合约调用模板供客户进行快速调用调试,从而提高智能合约配置效率。
作为更进一步的解决方案,所述智能合约编译系统按照各部分功能对智能合约进行分割,得到合约模块、分割描述项和杂余项;其中,所述合约模块包括:存储合约、接口合约和逻辑合约;所述存储合约用于描述存储类型、存储地址和存储逻辑;所述接口合约用于描述交互接口、交互逻辑和交互条件;所述逻辑合约用于描述数据响应规则和响应条件;所述分割描述项和杂余项缓存至智能合约调用终端本地。
需要说明的是:本实施例对智能合约结构进行分析,提取最重要的三个版块进行分割,并记录分割步骤;其余非重要项添加至杂余项并缓存至本地;进行分块以后,能对各合约模块进行单独适配,从而高效地进行合约管理和平台适配;如图5所示,三个版块基于合约模块交互便能实现智能合约的功能;其中,图中编号表示如下步骤:S1、用户调用接口合约输入数据;S2、接口合约委托逻辑合约处理,逻辑合约进入接口合约,得到存储合约地址;S3、逻辑合约通过存储合约查询并获取需要的数据;S4、逻辑合约对变量数据进行状态计算,得到状态变量并修改存储合约中的数据;S5、逻辑合约返回处理结果至接口合约,S6、接口合约获取状态变量;S7、接口合约返回输出动作。下面结合三个合约的实例来进一步说明:
接口合约实例:
pragma solidity ^0.8.0;
contract SimpleTradeContract {
mapping(address =>uint256) public balances;
event Trade(address indexed buyer, address indexed seller,uint256 amount);
function buy() public payable {
require(msg.value>0, "Amount must be greater than zero");
balances[msg.sender]+= msg.value;
emit Trade(msg.sender, address(this), msg.value);
}
function sell(uint256 amount) public {
require(amount>0, "Amount must be greater than zero");
require(balances[msg.sender]>= amount, "Insufficientbalance");
balances[msg.sender]-= amount;
payable(msg.sender).transfer(amount);
emit Trade(address(this), msg.sender, amount); }}
存储合约实例:
pragma solidity ^0.8.0;
contract AutoTransferStorage {
address public owner;
uint256 public transferAmount;
constructor(uint256 amount) {
owner = msg.sender;
transferAmount = amount;}}
逻辑合约实例:
pragma solidity ^0.8.0;
import "./AutoTransferStorage.sol";
import "./IAutoTransfer.sol";
contract AutoTransferLogic is IAutoTransfer {
AutoTransferStorage private storageContract;
constructor(address storageAddress) {
storageContract = AutoTransferStorage(storageAddress);
}
function executeAutoTransfer() external override {
require(msg.sender == storageContract.owner(), "Unauthorized");
uint256 currentHour = (block.timestamp / 3600) % 24; // 获取当前小时数
require(currentHour == 19, "Auto transfer can only beexecuted at19:00");
payable(storageContract.owner()).transfer(storageContract.transferAmount());}}
通过上述三个实例配合,实现了每天19点自动转账至预设账户的智能合约的示例代码,以此证明智能合约的可分割性,本实施例将最主要的部分分割开来,并对这三个部分进行平台适配,从而很好地解决了不同平台兼容性的问题。
所述智能合约管理系统包括:合约模块管理单元、合约限权管理单元、支持模块管理单元和合约全局管理单元;所述合约模块管理单元用于对合约模块进行管理,所述合约限权管理单元用于描述合约的代理、所有权和功能控制;所述支持模块管理单元用于提供合约支持,包括文档支持、加密解密支持、数字计算支持和编码解码支持。
需要说明的是:如图3所示,本实施例通过智能合约管理系统进行集中管理,从而实现各模块之前的相互支持,相较于本地编辑智能合约的模式,本实施例无需进行功能和环境部署,只需要用过终端访问云端,就能得到各类合约及环境支持,实现智能合约随身调用,减少调用成本和安全性。
作为更进一步的解决方案,所述智能合约上传系统根据平台特性与约束条件预设对应的打包逻辑,将所述智能合约管理系统中各合约按照打包逻辑进行打包,得到符合智能合约平台要求的智能合约上链文件;
所述智能合约上链文件通过智能合约平台接口上传至对应智能合约平台,所述智能合约调用终端查看上链合约时,下载获取智能合约上链文件并通过杂余项和分割描述项对合约还原,得到完整的智能合约。
需要说明的是:如图4所示为智能合约上链文件的典型结构,本实施例通过智能合约上传系统获取合约模块和相关的其他合约打包成符合智能合约平台要求的智能合约上链文件,相较于个人上传的各式各样的智能合约,本实施例能实现标准化上传,保证上传效率和兼容性问题。在终端查看智能合约上链文件时,便能通过杂余项和分割描述项对合约还原(如各类备注信息、字体信息、布局信息等非重要信息),从而保证本地终端能查看到最原始的智能合约。
智能合约调用方法,运用如上所述的智能合约调用系统,通过如下步骤完成智能合约调用上链:
步骤1:判断智能合约调用终端是否连接到智能合约调用系统;
若是,则自动创建一个智能合约配置单元;其中,智能合约配置单元用于提供配置空间;
若否,则循环监测智能合约调用终端的连接状态;
步骤2:智能合约调用终端在配置空间中对智能合约进行调用调试和校验;
步骤3:将通过校验后的智能合约输出至智能合约编译系统;
步骤4:智能合约编译系统接受校验后的智能合约,并按照合约类型对智能合约进行合约分块,得到与智能合约对应的合约模块;
步骤5:智能合约管理系统对合约模块进行管理并提供全局支持环境,并将各环境及参数变量进行命名统一;
步骤6:智能合约上传系统获取所需上传智能合约平台的平台特性与约束条件,并将合约模块转化成满足需上传智能合约平台特性与约束条件的智能合约文件;其中,平台特性包括各合约模块所使用的编译器及编译版本,约束条件包括各环境及参数变量的命名约束;
步骤7:智能合约平台接口获取所需上传智能合约平台对应的平台接口,并将智能合约文件通过平台接口进行上传;在完成上传并受到平台返回信息后,完成智能合约调用上链。
需要说明的是:各智能合约平台有着不同的平台特性与约束条件,使用者通常需要按照各平台要求编辑对应的智能合约文件,才能完成智能合约调用上链,这就给使用者增加了很大的学习使用成本。其实各智能合约平台的底层编译是相似的,区别往往是在于所使用的编译器版本、环境及参数变量命名等,导致了上传时平台报错;这些繁杂的规则限制致使使用者需要获取查阅很多相关资料,才能找出报错原因。
为此,使用者仅需要学习掌握一套合约编程逻辑,按照自己的编程习惯编辑智能合约,不需要关注杂余项、平台特性、约束条件、环境及参数变量命名等,智能合约上传系统自动根据所需上传智能合约平台的平台特性与约束条件,并将合约模块转化成满足需上传智能合约平台特性与约束条件的智能合约文件,从而降低用户的学习使用成本。
如上述三个合约的实例三个合约的实例,在编译时使用者均采用了“pragmasolidity ^0.8.0”版本的编译器;而在一些平台仅支持“pragma solidity ^0.7.9”版本的编译器,这便会出现报错,智能合约上传系统获取到这个平台特性,便能自动进行版本降级从而适配该平台;此外,还对一些变量进行统一,然后再根据所需上传智能合约平台的约束条件,统一替换成满足其约束的环境及参数变量命名,从而使使用者仅需关注编辑智能合约本身,增加智能合约的适配性。
以上仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.智能合约调用装置,其特征在于,包括智能合约调用终端和智能合约调用云端:其中,所述智能合约调用终端包括若干并分别与智能合约调用云端通信连接;
所述智能合约调用终端包括:终端硬件设备、终端沙盒环境和终端配置应用;其中,所述终端硬件设备用于提供终端硬件支持,包括终端处理模块、终端显示模块和终端控制模块;所述终端显示模块和终端控制模块分别与终端处理模块连接,并用于终端页面显示和终端设置调整;所述终端沙盒环境部署在终端处理模块中,并用于提供隔离沙盒和运行环境;所述终端配置应用部署在隔离沙盒中,并通过运行环境进行隔离运行;所述终端配置应用用于提供可信访问服务,并通过WEB应用程序与智能合约调用云端连接;
所述智能合约调用云端包括:服务器组和智能合约调用系统;其中,所述服务器组包括WEB服务器组、计算服务器组、存储服务器组,所述WEB服务器组用于提供支持WEB应用程序的服务器端组件,所述计算服务器组和存储服务器组用于提供存储与计算支持;所述智能合约调用系统部署在服务器组上,定向与各智能合约调用终端进行加密交互。
2.根据权利要求1所述的智能合约调用装置,其特征在于,所述终端配置应用和智能合约调用系统共同组成B/S架构,所述终端配置应用将智能合约调用信息打包为Http请求发送给智能合约调用系统,所述智能合约调用系统根据业务逻辑处理智能合约调用信息,在云端构建对应的智能合约并通过Html发送反馈数据给智能合约调用终端,完成智能合约调用可视化。
3.智能合约调用系统,运用如权利要求1与权利要求2任一项所述的智能合约调用装置,其特征在于,所述智能合约调用系统包括:智能合约配置单元、智能合约编译系统、智能合约管理系统、智能合约上传系统和智能合约平台接口;其中,当所述智能合约调用终端连接到智能合约调用系统时,自动创建一个智能合约配置单元;所述智能合约配置单元用于提供配置空间,所述智能合约调用终端能在配置空间中对智能合约进行调用调试和校验,并输出通过校验后的智能合约;所述智能合约编译系统接受校验后的智能合约,并按照合约类型对智能合约进行合约分块,得到与智能合约对应的合约模块;所述智能合约管理系统对合约模块进行管理并提供全局支持环境,并将各环境及参数变量进行命名统一;所述智能合约上传系统用于将合约模块转化成满足需上传智能合约平台特性与约束条件的智能合约文件,所述智能合约平台接口用于对接各智能合约平台,完成智能合约调用上链。
4.根据权利要求3所述的智能合约调用系统,其特征在于,所述智能合约配置单元包括:合约配置调用系统、智能合约配置空间和智能合约校验系统;其中,所述合约配置调用系统用于提供合约调用模板,所述智能合约配置空间用于提供智能合约调试支持,所述智能合约校验系统用于设备校验环境、校验条件和校验输入,并根据测试智能合约的输出判断是否满足校验输出,并再将校验结果返回至所述智能合约调用终端,所述智能合约调用终端根据校验结果完成对智能合约的调用调整。
5.根据权利要求4所述的智能合约调用系统,其特征在于,所述智能合约编译系统按照各部分功能对智能合约进行分割,得到合约模块、分割描述项和杂余项;其中,所述合约模块包括:存储合约、接口合约和逻辑合约;所述存储合约用于描述存储类型、存储地址和存储逻辑;所述接口合约用于描述交互接口、交互逻辑和交互条件;所述逻辑合约用于描述数据响应规则和响应条件;所述分割描述项和杂余项缓存至智能合约调用终端本地。
6.根据权利要求5所述的智能合约调用系统,其特征在于,所述智能合约管理系统包括:合约模块管理单元、合约限权管理单元、支持模块管理单元和合约全局管理单元;所述合约模块管理单元用于对合约模块进行管理,所述合约限权管理单元用于描述合约的代理、所有权和功能控制;所述支持模块管理单元用于提供合约支持,包括文档支持、加密解密支持、数字计算支持和编码解码支持。
7.根据权利要求6所述的智能合约调用系统,其特征在于,所述智能合约上传系统根据平台特性与约束条件预设对应的打包逻辑,将所述智能合约管理系统中各合约按照打包逻辑进行打包,得到符合智能合约平台要求的智能合约上链文件;
所述智能合约上链文件通过智能合约平台接口上传至对应智能合约平台,所述智能合约调用终端查看上链合约时,下载获取智能合约上链文件并通过杂余项和分割描述项对合约还原,得到完整的智能合约。
8.智能合约调用方法,运用如权利要求3所述的智能合约调用系统,其特征在于,通过如下步骤完成智能合约调用上链:
步骤1:判断智能合约调用终端是否连接到智能合约调用系统;
若是,则自动创建一个智能合约配置单元;其中,智能合约配置单元用于提供配置空间;
若否,则循环监测智能合约调用终端的连接状态;
步骤2:智能合约调用终端在配置空间中对智能合约进行调用调试和校验;
步骤3:将通过校验后的智能合约输出至智能合约编译系统;
步骤4:智能合约编译系统接受校验后的智能合约,并按照合约类型对智能合约进行合约分块,得到与智能合约对应的合约模块;
步骤5:智能合约管理系统对合约模块进行管理并提供全局支持环境,并将各环境及参数变量进行命名统一;
步骤6:智能合约上传系统获取所需上传智能合约平台的平台特性与约束条件,并将合约模块转化成满足需上传智能合约平台特性与约束条件的智能合约文件;其中,平台特性包括各合约模块所使用的编译器及编译版本,约束条件包括各环境及参数变量的命名约束;
步骤7:智能合约平台接口获取所需上传智能合约平台对应的平台接口,并将智能合约文件通过平台接口进行上传;在完成上传并受到平台返回信息后,完成智能合约调用上链。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311014378.2A CN116743729A (zh) | 2023-08-14 | 2023-08-14 | 智能合约调用装置、系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311014378.2A CN116743729A (zh) | 2023-08-14 | 2023-08-14 | 智能合约调用装置、系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116743729A true CN116743729A (zh) | 2023-09-12 |
Family
ID=87915490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311014378.2A Pending CN116743729A (zh) | 2023-08-14 | 2023-08-14 | 智能合约调用装置、系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116743729A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109102401A (zh) * | 2018-07-23 | 2018-12-28 | 上海点融信息科技有限责任公司 | 用于在区块链网络中运行智能合约的方法和装置 |
CN109818957A (zh) * | 2019-01-25 | 2019-05-28 | 上海淳麒金融信息服务有限公司 | 基于可视化界面的智能合约调用方法、装置及系统 |
CN109829296A (zh) * | 2019-01-29 | 2019-05-31 | 中化能源科技有限公司 | 基于联盟链的智能合约的沙箱实现方法 |
WO2020062673A1 (zh) * | 2018-09-26 | 2020-04-02 | 深圳壹账通智能科技有限公司 | 智能合约的测试方法、存储介质、测试终端及测试装置 |
CN111355718A (zh) * | 2020-02-25 | 2020-06-30 | 中国工商银行股份有限公司 | 区块链智能合约云化部署系统及方法 |
CN113254054A (zh) * | 2021-06-09 | 2021-08-13 | 上海万向区块链股份公司 | 一种智能合约一站式开发系统及方法 |
WO2022057679A1 (zh) * | 2020-09-21 | 2022-03-24 | 中国电子科技网络信息安全有限公司 | 一种区块链系统应用智能合约安装部署管理方法 |
CN114995828A (zh) * | 2022-06-24 | 2022-09-02 | 上海万向区块链股份公司 | 智能合约在线调用方法、系统、介质及设备 |
-
2023
- 2023-08-14 CN CN202311014378.2A patent/CN116743729A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109102401A (zh) * | 2018-07-23 | 2018-12-28 | 上海点融信息科技有限责任公司 | 用于在区块链网络中运行智能合约的方法和装置 |
WO2020062673A1 (zh) * | 2018-09-26 | 2020-04-02 | 深圳壹账通智能科技有限公司 | 智能合约的测试方法、存储介质、测试终端及测试装置 |
CN109818957A (zh) * | 2019-01-25 | 2019-05-28 | 上海淳麒金融信息服务有限公司 | 基于可视化界面的智能合约调用方法、装置及系统 |
CN109829296A (zh) * | 2019-01-29 | 2019-05-31 | 中化能源科技有限公司 | 基于联盟链的智能合约的沙箱实现方法 |
CN111355718A (zh) * | 2020-02-25 | 2020-06-30 | 中国工商银行股份有限公司 | 区块链智能合约云化部署系统及方法 |
WO2022057679A1 (zh) * | 2020-09-21 | 2022-03-24 | 中国电子科技网络信息安全有限公司 | 一种区块链系统应用智能合约安装部署管理方法 |
CN113254054A (zh) * | 2021-06-09 | 2021-08-13 | 上海万向区块链股份公司 | 一种智能合约一站式开发系统及方法 |
CN114995828A (zh) * | 2022-06-24 | 2022-09-02 | 上海万向区块链股份公司 | 智能合约在线调用方法、系统、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7305361B2 (en) | Apparatus, methods and articles of manufacture for constructing and executing computerized transaction processes and programs | |
Crnkovic | Component‐based software engineering—new challenges in software development | |
Mens et al. | Evolving software architecture descriptions of critical systems | |
AU2022200877A1 (en) | System and method for creating and executing data-driven legal contracts | |
US9940112B2 (en) | Efficient framework for deploying middleware services | |
US7631299B2 (en) | System for modifying software using reusable software components | |
US20100121740A1 (en) | Data driven orchestration of business processes | |
CN106101242A (zh) | 区块链云服务平台的构建方法和装置 | |
US20030158759A1 (en) | Method of modifying software by defining business rules | |
US20080147455A1 (en) | Enterprise verification and certification framework | |
US20100122232A1 (en) | Reusable business sub-processes and run-time assembly | |
CN109040235B (zh) | 一种基于区块链技术的工业控制系统操作记录的存储方法 | |
CN111258900A (zh) | 接口测试脚本的生成方法、系统、设备及存储介质 | |
CN114968188A (zh) | 用于开发工业应用的系统、方法及非暂态计算机可读介质 | |
US20030172367A1 (en) | Method of modifying software via a network | |
AU2005229641A1 (en) | Realizing legally binding business contracts through service mangement models | |
CN101763043B (zh) | 用于自动化协同框架的方法和系统 | |
CN107274023A (zh) | 投保流程生成方法、投保请求处理方法及装置和电子设备 | |
CN115309566B (zh) | 一种服务接口的动态管理方法及系统 | |
Loukil et al. | Decentralized collaborative business process execution using blockchain | |
CN111880839A (zh) | 一种api处理方法和装置 | |
CN105144091B (zh) | 针对基于程序的命令行的用户界面模型生成 | |
CN115877797A (zh) | 工业自动化项目库交叉共享 | |
CN114816591A (zh) | 服务接口处理方法、装置、计算机设备和存储介质 | |
CN116743729A (zh) | 智能合约调用装置、系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |