CN114995828A - 智能合约在线调用方法、系统、介质及设备 - Google Patents

智能合约在线调用方法、系统、介质及设备 Download PDF

Info

Publication number
CN114995828A
CN114995828A CN202210725849.XA CN202210725849A CN114995828A CN 114995828 A CN114995828 A CN 114995828A CN 202210725849 A CN202210725849 A CN 202210725849A CN 114995828 A CN114995828 A CN 114995828A
Authority
CN
China
Prior art keywords
intelligent contract
contract
online
processing system
intelligent
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
Application number
CN202210725849.XA
Other languages
English (en)
Inventor
雷兆金
马文静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Wanxiang Blockchain Inc
Original Assignee
Shanghai Wanxiang Blockchain Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Wanxiang Blockchain Inc filed Critical Shanghai Wanxiang Blockchain Inc
Priority to CN202210725849.XA priority Critical patent/CN114995828A/zh
Publication of CN114995828A publication Critical patent/CN114995828A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种智能合约在线调用方法、系统、介质及设备,包括:步骤1:编写智能合约实现类,包括输入参数、输出参数和逻辑实现;步骤2:将智能合约实现类上传到智能合约处理系统,通过智能合约处理系统进行合约的基础验证,提取智能合约的元数据,并对逻辑实现代码进行编译;步骤3:根据提取的智能合约元数据生成智能合约接口文件,在逻辑实现代码编译完成后,生成一个用于在智能合约处理系统部署的智能合约;步骤4:在输入命令执行参数后进行部署,部署完成后将智能合约运行在智能合约处理系统中。本发明通过采用区块链与智能合约的在线调用相结合的方式,消除了不必要的同质工作,极大地提高了开发生产力。

Description

智能合约在线调用方法、系统、介质及设备
技术领域
本发明涉及智能合约调用技术领域,具体地,涉及一种智能合约在线调用方法、系统、介质及设备。
背景技术
目前的智能合约的调用,大多是通过工具类性质的代码,用户上传编写好的合约实现类,得到智能合约的接口文件。用户使用时,需要把智能合约的接口文件和合约实现类,放入到自己的工程里,才能实现智能合约的调用。
专利文献CN110177079A(申请号:CN201910309770.7)公开了一种智能合约的调用系统及调用方法。所述调用系统包括:解析器,用于解析用户请求所需调用的智能合约的输入参数和函数签名;辅助装置,该辅助装置包括:区块链节点健康检查单元,用于根据所述输入参数中的区块链地址,随机获取并发送健康节点的地址;以及调用装置,用于按照所述健康节点的地址,以预设结构体的形式将所述输入参数及所述函数签名通过调用桥发送至所述健康节点。
现有技术(申请号:CN202110957073.X)公开了一种生成智能合约文件的合约接口类的方法及装置,固然能够生成智能合约的接口文件,然后基于区块链通过对智能合约接口的调用,实现业务数据上链。但该专利实现的效率比较低下,且带来了多个同质工作的重复开发量。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种智能合约在线调用方法、系统、介质及设备。
根据本发明提供的智能合约在线调用方法,包括:
步骤1:编写智能合约实现类,包括输入参数、输出参数和逻辑实现,通过逻辑代码进行上链业务数据的处理;
步骤2:将智能合约实现类上传到智能合约处理系统,通过智能合约处理系统进行合约的基础验证,提取智能合约的元数据,并对逻辑实现代码进行编译;
步骤3:根据提取的智能合约元数据生成智能合约接口文件,在逻辑实现代码编译完成后,生成一个用于在智能合约处理系统部署的智能合约;
步骤4:在输入命令执行参数后进行部署,部署完成后将智能合约运行在智能合约处理系统中,所述命令执行参数包括合约的所有权、调用级别、合约的部署版本和合约的过期时间。
优选的,在智能合约部署完成后,通过调用权限验证进行在线调用合约,并对合约进行定位。
优选的,对合约在线调用的过程和结果进行记录,保留智能合约调用的留痕,帮助用户在调用失败后快速定位和追踪问题。
优选的,对于有定制化需求的用户,通过智能合约处理系统提供给用户合约编译成功后的可运行安装包,用户下载可运行安装包后在合适的环境下运行。
根据本发明提供的智能合约在线调用系统,包括:
模块M1:编写智能合约实现类,包括输入参数、输出参数和逻辑实现,通过逻辑代码进行上链业务数据的处理;
模块M2:将智能合约实现类上传到智能合约处理系统,通过智能合约处理系统进行合约的基础验证,提取智能合约的元数据,并对逻辑实现代码进行编译;
模块M3:根据提取的智能合约元数据生成智能合约接口文件,在逻辑实现代码编译完成后,生成一个用于在智能合约处理系统部署的智能合约;
模块M4:在输入命令执行参数后进行部署,部署完成后将智能合约运行在智能合约处理系统中,所述命令执行参数包括合约的所有权、调用级别、合约的部署版本和合约的过期时间。
优选的,在智能合约部署完成后,通过调用权限验证进行在线调用合约,并对合约进行定位。
优选的,对合约在线调用的过程和结果进行记录,保留智能合约调用的留痕,帮助用户在调用失败后快速定位和追踪问题。
优选的,对于有定制化需求的用户,通过智能合约处理系统提供给用户合约编译成功后的可运行安装包,用户下载可运行安装包后在合适的环境下运行。
根据本发明提供的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的方法的步骤。
根据本发明提供的智能合约在线调用设备,包括:控制器;
所述控制器包括所述的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的智能合约在线调用方法的步骤;或者,所述控制器包括所述的智能合约在线调用系统。
与现有技术相比,本发明具有如下的有益效果:
本发明通过采用区块链与智能合约的在线调用相结合的方式,解决了智能合约调用需要二次开发才能使用带来重复工作量的问题,消除了不必要的同质工作,极大地提高了开发生产力。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为智能合约在线调用泳道图;
图2为智能合约处理系统内部实现和交互示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例:
如图1和图2,本发明提供了一种智能合约文件在线调用的方法,需要用户提供一个自己编写的智能合约实现类,该实现类要包含输入参数和输出参数的描述以及逻辑实现。用户将该合约上传到系统进行编译,编译过程会提取方法的相关元数据和功能实现的逻辑。有了输入参数,输出参数的描述,和提取的方法元数据信息,系统就可以生成接口文件代码,同时还会根据逻辑实现生成一个可在系统部署的合约。可部署的合约用户只需一键部署,成功后,用户就可以在线调用合约。也可以下载编译后的系统运行包,运行在合适的环境里,通过远程调用的方式调用合约。
具体实现步骤如下:
步骤1.用户需要撰写一个智能合约实现类,该实现类至少要包含输入参数,输出参数和逻辑实现。其中,输入参数,输出参数可以是结构体,也可以是简单的该语言的基本数据类型。逻辑代码实现上链业务数据的处理。
步骤2.用户将智能合约实现类上传到智能合约处理系统(以下简称系统),系统要完成合约的基础验证,提取智能合约的元数据,并对逻辑实现代码进行编译。
步骤3.系统根据提取的智能合约元数据,生成智能合约接口文件。编译完成后,生成一个可在系统部署的智能合约。
步骤4.用户在填写必要的命令执行参数,就可以一键部署,完成后智能合约就在系统中运行。这些命令执行参数,不但要保证合约的所有权,调用级别,合约的部署版本,合约的过期时间和其他的一些调用限制。
步骤5.部署完成后,用户可以在线调用合约。系统要保证当前的用户在调用合约时,必须提供必要的信息,这些信息能够保证用户只能调用他们拥有调用权限的合约,同时,合约也要被唯一定位。
步骤6.在线调用成功或失败,都要有审计日志,实现智能合约调用的留痕和帮助用户在调用失败后快速定位问题和追踪问题。
步骤7.对于有定制化需求的用户,系统应当提供合约编译成功后的可运行安装包,用户可以下载可运行安装包,在合适的环境下运行。同样地,用户不管是部署还是调用,都需要提供必需的参数,确保合约部署成功和调用指令的执行,从而实现特定环境下的智能合约的在线调用。
根据本发明提供的智能合约在线调用系统,包括:模块M1:编写智能合约实现类,包括输入参数、输出参数和逻辑实现,通过逻辑代码进行上链业务数据的处理;模块M2:将智能合约实现类上传到智能合约处理系统,通过智能合约处理系统进行合约的基础验证,提取智能合约的元数据,并对逻辑实现代码进行编译;模块M3:根据提取的智能合约元数据生成智能合约接口文件,在逻辑实现代码编译完成后,生成一个用于在智能合约处理系统部署的智能合约;模块M4:在输入命令执行参数后进行部署,部署完成后将智能合约运行在智能合约处理系统中,所述命令执行参数包括合约的所有权、调用级别、合约的部署版本和合约的过期时间。
在智能合约部署完成后,通过调用权限验证进行在线调用合约,并对合约进行定位。对合约在线调用的过程和结果进行记录,保留智能合约调用的留痕,帮助用户在调用失败后快速定位和追踪问题。对于有定制化需求的用户,通过智能合约处理系统提供给用户合约编译成功后的可运行安装包,用户下载可运行安装包后在合适的环境下运行。
根据本发明提供的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的方法的步骤。
根据本发明提供的智能合约在线调用设备,包括:控制器;所述控制器包括所述的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的智能合约在线调用方法的步骤;或者,所述控制器包括所述的智能合约在线调用系统。
本发明通过一个通用的系统,将智能合约的调用做到一键化处理,用户只需上传合约,然后填写少量的必需参数,就能够实现合约的在线调用。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种智能合约在线调用方法,其特征在于,包括:
步骤1:编写智能合约实现类,包括输入参数、输出参数和逻辑实现,通过逻辑代码进行上链业务数据的处理;
步骤2:将智能合约实现类上传到智能合约处理系统,通过智能合约处理系统进行合约的基础验证,提取智能合约的元数据,并对逻辑实现代码进行编译;
步骤3:根据提取的智能合约元数据生成智能合约接口文件,在逻辑实现代码编译完成后,生成一个用于在智能合约处理系统部署的智能合约;
步骤4:在输入命令执行参数后进行部署,部署完成后将智能合约运行在智能合约处理系统中,所述命令执行参数包括合约的所有权、调用级别、合约的部署版本和合约的过期时间。
2.根据权利要求1所述的智能合约在线调用方法,其特征在于,在智能合约部署完成后,通过调用权限验证进行在线调用合约,并对合约进行定位。
3.根据权利要求1所述的智能合约在线调用方法,其特征在于,对合约在线调用的过程和结果进行记录,保留智能合约调用的留痕,帮助用户在调用失败后快速定位和追踪问题。
4.根据权利要求1所述的智能合约在线调用方法,其特征在于,对于有定制化需求的用户,通过智能合约处理系统提供给用户合约编译成功后的可运行安装包,用户下载可运行安装包后在合适的环境下运行。
5.一种智能合约在线调用系统,其特征在于,包括:
模块M1:编写智能合约实现类,包括输入参数、输出参数和逻辑实现,通过逻辑代码进行上链业务数据的处理;
模块M2:将智能合约实现类上传到智能合约处理系统,通过智能合约处理系统进行合约的基础验证,提取智能合约的元数据,并对逻辑实现代码进行编译;
模块M3:根据提取的智能合约元数据生成智能合约接口文件,在逻辑实现代码编译完成后,生成一个用于在智能合约处理系统部署的智能合约;
模块M4:在输入命令执行参数后进行部署,部署完成后将智能合约运行在智能合约处理系统中,所述命令执行参数包括合约的所有权、调用级别、合约的部署版本和合约的过期时间。
6.根据权利要求5所述的智能合约在线调用系统,其特征在于,在智能合约部署完成后,通过调用权限验证进行在线调用合约,并对合约进行定位。
7.根据权利要求5所述的智能合约在线调用系统,其特征在于,对合约在线调用的过程和结果进行记录,保留智能合约调用的留痕,帮助用户在调用失败后快速定位和追踪问题。
8.根据权利要求5所述的智能合约在线调用系统,其特征在于,对于有定制化需求的用户,通过智能合约处理系统提供给用户合约编译成功后的可运行安装包,用户下载可运行安装包后在合适的环境下运行。
9.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
10.一种智能合约在线调用设备,其特征在于,包括:控制器;
所述控制器包括权利要求9所述的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的智能合约在线调用方法的步骤;或者,所述控制器包括权利要求5至8中任一项所述的智能合约在线调用系统。
CN202210725849.XA 2022-06-24 2022-06-24 智能合约在线调用方法、系统、介质及设备 Pending CN114995828A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210725849.XA CN114995828A (zh) 2022-06-24 2022-06-24 智能合约在线调用方法、系统、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210725849.XA CN114995828A (zh) 2022-06-24 2022-06-24 智能合约在线调用方法、系统、介质及设备

Publications (1)

Publication Number Publication Date
CN114995828A true CN114995828A (zh) 2022-09-02

Family

ID=83036219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210725849.XA Pending CN114995828A (zh) 2022-06-24 2022-06-24 智能合约在线调用方法、系统、介质及设备

Country Status (1)

Country Link
CN (1) CN114995828A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116743729A (zh) * 2023-08-14 2023-09-12 四川万流数据服务有限责任公司 智能合约调用装置、系统及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116743729A (zh) * 2023-08-14 2023-09-12 四川万流数据服务有限责任公司 智能合约调用装置、系统及方法

Similar Documents

Publication Publication Date Title
KR101132560B1 (ko) 로봇 소프트웨어 컴포넌트를 위한 시뮬레이션 기반 인터페이스 테스팅 자동화 시스템 및 그 방법
CN110008113B (zh) 一种测试方法、装置、电子设备
RU99113042A (ru) Компьютерное устройство для выполнения прикладных программ, блок администратора событий компьютерного устройства, способ разработки компьютерных прикладных программ, программная модель для компьютерной прикладной программы, способ создания библиотеки объектов, компьютерное устройство базы данных, способ работы с системой базы данных
CN105324750A (zh) 开发环境系统、开发环境装置、开发环境提供方法及程序
CN102193812A (zh) 一种代码编译方法、主机及系统
US10592703B1 (en) Method and system for processing verification tests for testing a design under test
CN112148315A (zh) 软件部署方法、装置、服务器及存储介质
CN105760289A (zh) 一种嵌入式系统的调试方法及装置
CN104881311A (zh) 一种版本兼容的判断方法及装置
CN114995828A (zh) 智能合约在线调用方法、系统、介质及设备
CN104780076A (zh) 一种代码检查方法和设备
CN108572892B (zh) 一种基于PowerPC多核处理器的离线测试方法和装置
CN113254054B (zh) 一种智能合约一站式开发系统及方法
CN116257438A (zh) 接口测试用例的更新方法及相关设备
CN112860251A (zh) 一种网站前端构建的方法与系统
CN111061486B (zh) 一种安卓应用程序增量方法
CN117290255A (zh) 一种基于Python和Locust框架的批量接口性能测试方法
CN111562942B (zh) 基于Gitlab的移动APP持续集成装置和方法
CN110968339B (zh) 前端构建工具的方法、装置以及电子设备
CN112860587A (zh) Ui自动测试方法和装置
US9880813B2 (en) RTE code generating method and apparatus performing the same
CN109766125B (zh) 批次间追平冲突的识别方法及装置
CN100359485C (zh) 嵌入式系统的测试装置及测试方法
CN115809076A (zh) Ecu软件自动化集成方法及系统
CN115034165A (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