CN109683867A - 一种对接区块链的方法及其装置、介质、终端 - Google Patents

一种对接区块链的方法及其装置、介质、终端 Download PDF

Info

Publication number
CN109683867A
CN109683867A CN201811611346.XA CN201811611346A CN109683867A CN 109683867 A CN109683867 A CN 109683867A CN 201811611346 A CN201811611346 A CN 201811611346A CN 109683867 A CN109683867 A CN 109683867A
Authority
CN
China
Prior art keywords
block chain
intelligent contract
demand information
information
docking
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
CN201811611346.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.)
Shigengjian Data Technology (shanghai) Co Ltd
Original Assignee
Shigengjian Data Technology (shanghai) Co Ltd
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 Shigengjian Data Technology (shanghai) Co Ltd filed Critical Shigengjian Data Technology (shanghai) Co Ltd
Priority to CN201811611346.XA priority Critical patent/CN109683867A/zh
Publication of CN109683867A publication Critical patent/CN109683867A/zh
Priority to US16/726,777 priority patent/US10725744B2/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Abstract

本发明实施例公开了一种对接区块链的方法及其装置、介质、终端,所述对接区块链的方法包括:接收开发需求信息,所述开发需求信息包括对区块链进行通信的需求信息以及目标语言;基于所述开发需求信息提供对应所述目标语言的软件工具开发包,所述软件工具开发包包括对应所述开发需求信息的调用接口,所述调用接口被配置为触发与所述区块链进行通信的通路。本发明实施例中的技术方案可以提升应用程序的开发效率。

Description

一种对接区块链的方法及其装置、介质、终端
技术领域
本发明涉及计算机技术领域,尤其是涉及一种对接区块链的方法及其装置、介质、终端。
背景技术
随着区块链技术的蓬勃发展,针对区块链的应用程序的开发较为缓慢,影响着区块链技术在实际操作中的应用。
现有区块链技术应用中,应用程序的开发效率有待提升。
发明内容
本发明实施例解决的技术问题是提升区块链技术应用中,应用程序的开发效率。
为解决上述技术问题,本发明实施例提供一种对接区块链的方法,包括:接收开发需求信息,所述开发需求信息包括对区块链进行通信的需求信息以及目标语言;基于所述开发需求信息提供对应所述目标语言的软件工具开发包,所述软件工具开发包包括对应所述开发需求信息的调用接口,所述调用接口被配置为触发与所述区块链进行通信的通路。
可选的,所述对接区块链的方法还包括:响应于对所述调用接口的触发操作,对所述调用接口接收到的数据进行处理得到区块链标准数据,所述区块链标准数据符合目标区块链的数据规范,所述目标区块链为待进行通信的区块链;发送所述区块链标准数据至所述目标区块链。
可选的,所述对接区块链的方法还包括:响应于对所述调用接口的触发操作,解析所述触发操作,确定目标区块链以及与所述目标区块链的通信需求,所述目标区块链为待进行通信的区块链;调用对应所述目标区块链的适配器,通过所述适配器与所述目标区块链进行符合所述通信需求的通信。
可选的,所述对区块链进行通信的需求信息包括待进行操作的智能合约的信息,所述基于所述开发需求信息提供的所述目标语言的软件工具开发包包括对应于所述智能合约的操作的调用接口。
可选的,所述待进行操作的智能合约的信息包括所述智能合约的数据交互需求,所述对接区块链的方法还包括:生成对应于所述智能合约的数据交互需求的智能合约模板,所述智能合约模板包括所述数据交互需求确定的所述区块链的输入数据字段、输出数据字段、以及所述智能合约模板的操作名称。
可选的,所述对接区块链的方法还包括:响应于对智能合约接口的触发操作,通过所述智能合约接口对基于所述智能合约模板生成的所述智能合约进行操作,所述智能合约接口为所述对应于所述智能合约的操作的调用接口。
可选的,所述对区块链进行通信的需求信息包括目标区块链,所述基于所述开发需求信息提供所述目标语言的软件工具开发包包括:生成用于与所述目标区块链进行通信的适配器。
可选的,所述开发需求信息采用预设的区块链定义语言编写,基于所述开发需求信息提供所述目标语言的软件工具开发包包括:基于所述区块链定义语言的要求编译所述开发需求信息,得到编译通过后的编译信息;基于所述编译信息,生成所述目标语言的所述软件工具开发包。
可选的,所述开发需求信息还包括智能合约的信息,所述对接区块链的方法还包括:基于所述编译信息,生成对应于所述区块链的智能合约模板,所述智能合约模板包括数据交互需求确定的区块链的输入数据字段、输出数据字段、以及所述智能合约模板的操作名称。
本发明实施例还提供了一种对接区块链的装置,包括:开发需求信息接收单元,被配置为接收开发需求信息,所述开发需求信息包括对区块链进行通信的需求信息以及目标语言;软件工具开发包提供单元,被配置为基于所述开发需求信息提供对应所述目标语言的软件工具开发包,所述软件工具开发包包括对应所述开发需求信息的调用接口,所述调用接口被配置为触发与所述区块链进行通信的通路。
可选的,所述对接区块链的装置还包括:区块链标准数据生成单元,被配置为响应于对所述调用接口的触发操作,对所述调用接口接收到的数据进行处理得到区块链标准数据,所述区块链标准数据符合目标区块链的数据规范,所述目标区块链为待进行通信的区块链;区块链标准数据发送单元,被配置为发送所述区块链标准数据至所述目标区块链。
可选的,所述对接区块链的装置还包括:触发操作解析单元,被配置为响应于对所述调用接口的触发操作,解析所述触发操作,确定目标区块链以及与所述目标区块链的通信需求,所述目标区块链为待进行通信的区块链;适配器调用单元,被配置为调用对应所述目标区块链的适配器,通过所述适配器与所述目标区块链进行符合所述通信需求的通信。
可选的,所述对区块链进行通信的需求信息包括待进行操作的智能合约的信息;所述基于所述开发需求信息提供的所述目标语言的软件工具开发包包括对应于所述智能合约的操作的调用接口。
可选的,所述待进行操作的智能合约的信息包括所述智能合约的数据交互需求,所述对接区块链的装置还包括:智能合约模板第一生成单元,被配置为生成对应于所述智能合约的数据交互需求的智能合约模板,所述智能合约模板包括所述数据交互需求确定的区块链的输入数据字段、输出数据字段、以及所述智能合约模板的操作名称。
可选的,所述对接区块链的装置还包括:智能合约操作单元,被配置为响应于对智能合约接口的触发操作,通过所述智能合约接口对基于所述智能合约模板生成的所述智能合约进行操作,所述智能合约接口为所述对应于所述智能合约的操作的调用接口。
可选的,所述对区块链进行通信的需求信息包括目标区块链,所述软件工具开发包提供单元包括:适配器生成子单元,被配置为生成用于与所述目标区块链进行通信的适配器。
可选的,所述开发需求信息采用预设的区块链定义语言编写,所述软件工具开发包提供单元包括:编译信息生成子单元,被配置为基于所述区块链定义语言的要求编译所述开发需求信息,得到编译通过后的编译信息;软件工具开发包生成子单元,被配置为基于所述编译信息,生成所述目标语言的所述软件工具开发包。
可选的,所述开发需求信息还包括智能合约的信息,所述对接区块链的装置还包括:智能合约模板第二生成单元,被配置为基于所述编译信息,生成对应于所述区块链的智能合约模板,所述智能合约模板包括数据交互需求确定的区块链的输入数据字段、输出数据字段、以及所述智能合约模板的操作名称。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一种对接区块链的方法的步骤。
本发明实施例还提供了一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述任一项所述对接区块链的方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
在本发明实施例中,通过接收开发需求信息,所述开发需求信息包括对区块链进行通信的需求信息以及目标语言,基于所述开发需求信息提供对应所述目标语言的软件工具开发包,所述软件工具开发包包括对应所述开发需求信息的调用接口,所述调用接口被配置为触发与所述区块链进行通信的通路。基于开发需求信息提供对应开发需求信息的软件工具开发包,基于软件工具开发包可以实现与区块链的通信,可以简化应用程序开发中与区块链对接通信的开发流程,可以节约应用程序开发的时间,进而可以提升应用程序开发的效率。
进一步,通过解析对调用接口的触发操作,确定目标区块链以及通信需求,并调用对应目标区块链的适配器进行通信,可以使通信需求中的数据通过所述适配器传输至所述目标区块链,可以提升与目标区块链的通信质量。
进一步,根据智能合约的数据交互需求,生成对应的智能合约模板,所述智能合约模板包括所述数据交互需求确定的对区块链的输入数据字段以及输出数据字段,从而可以仅在输入数据字段以及输出数据字段对应的位置写入具体的业务内容,即可生成用于具体业务的智能合约,可以降低智能合约的生成难度,可以减少工作量,进而可以提升应用程序开发的效率。
进一步,通过智能合约接口可以对智能合约模板生成的智能合约进行操作,从而,可以减少对智能合约生成操作中的流程,进而提升应用程序开发的效率。
进一步,对区块链进行通信的需求信息中包括目标区块链,软件工具开发包包括用于与目标区块链进行通信的适配器,可以使得软件工具开发包更具针对性,减小软件工具开发包的空间占用,并且可以提升生成软件工具开发包的效率。
进一步,基于区块链定义语言的要求编译所述开发需求信息,得到编译信息,以根据所述编译信息生成开发应用程序的软件工具开发包。从而,可以以统一的语言编写对应不同区块链的开发需求信息,相比于对不同区块链分别进行开发,可以加速开发流程,提升开发效率。
进一步,通过采用预设的区块链定义语言编写智能合约的信息,生成对应于区块链的智能合约模板,基于智能合约模板生成智能合约,从而对应不同的区块链,均可以采用预设的区块链定义语言编写开发需求信息,可以提升开发效率。生成的智能合约模板是基于需求信息的,更契合应用程序的业务需求。
附图说明
图1是本发明实施例中一种对接区块链的方法的流程图;
图2是本发明实施例中另一种对接区块链的方法的部分流程图;
图3是本发明实施例中又一种对接区块链的方法的部分流程图;
图4是本发明实施例中一种软件工具开发包的部分结构示意图;
图5是本发明实施例中一种生成软件工具开发包的方法的流程图;
图6是本发明实施例中一种对接区块链的装置的结构示意图。
具体实施方式
如背景技术所述,现有区块链技术应用中,应用程序的开发效率有待提升。
在一种区块链的应用程序开发方法中,需要与区块链进行通信的部分通常是针对不同的区块链特性分别进行开发,开发过程较为复杂,软件的开发效率极低。
在本发明实施例中,通过接收开发需求信息,所述开发需求信息包括对区块链进行通信的需求信息以及目标语言,基于所述开发需求信息提供对应所述目标语言的软件工具开发包,所述软件工具开发包包括对应所述开发需求信息的调用接口,所述调用接口被配置为触发与所述区块链进行通信的通路。基于开发需求信息提供对应开发需求信息的软件工具开发包,基于软件工具开发包可以实现与区块链的通信,可以简化应用程序开发中与区块链对接通信的开发流程,可以节约应用程序开发的时间,进而可以提升应用程序开发的效率。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参照图1所示的对接区块链的方法的流程图,在本发明实施例中,对接区块链具体可以包括如下步骤:
步骤S11,接收开发需求信息,所述开发需求信息包括对区块链进行通信的需求信息以及目标语言;
步骤S12,基于所述开发需求信息提供对应所述目标语言的软件工具开发包,所述软件工具开发包包括对应所述开发需求信息的调用接口,所述调用接口被配置为触发与所述区块链进行通信的通路。
其中,对接区块链的方法应用于区块链技术应用中,可以用于实现与区块链之间的通信,例如,可以是用于运行区块链的应用程序的终端与区块链之间的数据传输等。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。区块链可以包括公有链、私有链或者联盟链等。
公有链是去中心化的链,上传至公有链的数据不可篡改;私有链是私有区块链,是指写入权限完全在一个组织手里的区块链,所有参与到这个区块链中的节点都会被严格控制;联盟链是指有若干组织或机构共同参与管理的区块链,每个组织或机构控制一个或多个节点,共同记录交易数据,并且只有这些组织和机构能够对联盟链中的数据进行读写和发送交易。
在具体实施中,公有链可以是以太坊(Eth)、商用分布式设计区块链操作系统(EOS)、超级账本(Hyperledger Fabric)等,对此不做限制。
开发需求信息包括的目标语言可以为应用程序开发中,开发应用程序的开发端进行程序开发所使用的编程语言,例如可以是Java、GO、C、C++等编程语言中确定的编程语言。
在具体实施中,基于所述开发需求信息提供所述目标语言的软件工具开发包可以是确认开发应用程序的目标语言后,从已有软件工具开发包中提供对应目标语言的软件工具开发包,或者是确认开发端的目标语言后,生成对应目标语言的软件工具开发包。其中,对应目标语言的软件工具开发包可以是对应Java的Java软件工具开发包,可以是对应GO的GO软件工具开发包,可以根据对编程语言的要求提供,在此不做限制。
进一步,根据业务功能的不同,所述软件工具开发包具体可以是通用的软件工具开发包,或者是对应特定业务需求的软件工具开发包,可以是根据对区块链进行通信的需求信息确定的。
其中,通用的软件工具开发包可以是在接收开发需求信息前生成的,根据开发信息提供;对应特定业务需求的软件需求工具开发包,可以是在接收到开发需求信息后,根据开发需求信息生成的更具针对性的软件工具开发包。
根据接收到的开发需求信息,确定对应获取的开发需求信息的软件工具开发包,所述软件工具开发包与开发需求信息中的目标语言对应,软件工具开发包提供调用接口,可以实现与区块链之间的通信,从而可以提升应用程序的开发效率。
在具体实施中,可以利用软件工具开发包提供的调用接口,执行与区块链之间的数据传输。参考图2,所述对接区块链的方法还可以包括:
步骤S21,响应于对所述调用接口的触发操作,对所述调用接口接收到的数据进行处理得到区块链标准数据,所述区块链标准数据符合目标区块链的数据规范,所述目标区块链为待进行通信的区块链;
步骤S22,发送所述区块链标准数据至所述目标区块链。
其中,触发操作可以是接收到的请求操作,例如,可以是智能合约部署、智能合约调用、交易请求等请求操作。
目标区块链可以是需要用到的区块链,可以选自ETH、EOS等区块链。目标区块链的数据规范可以是区块链对数据的要求,例如可以是区块链支持的数据格式以及传输方式。
通过对调用接口接收到的数据进行处理,得到符合目标区块链的要求的区块链标准数据,可以使得调用接口接收到的数据顺利的传输至目标区块链。由开发辅助工具进行该转换,可以提升开发效率。
参考图3,在具体实施中,所述对接区块链的方法还可以包括:
步骤S31,响应于对所述调用接口的触发操作,解析所述触发操作,确定目标区块链以及与所述目标区块链的通信需求,所述目标区块链为待进行通信的区块链;
步骤S32,调用对应所述目标区块链的适配器,通过所述适配器与所述目标区块链进行符合所述通信需求的通信。
调用接口可以供区块链开发的应用程序调用,响应于应用程序的调用,触发所述调用接口。通过解析触发操作,可以确定目标区块链,以及与所述目标区块链进行通信的通信需求。
具体的,通信需求可以是向目标区块链发送或者从目标区块链接收数据的需求,可以包括待向目标区块链发送的数据。被触发的调用接口可以是对应于不同业务需求的接口,可以是通用的调用接口或者是定制的调用接口。其中,通用的调用接口可以是前述的通用的软件工具开发包提供的,定制的调用接口可以是前述的对应特定业务需求的软件工具开发包。
在具体实施中,根据解析触发操作得到的解析结果,调用对应解析结果的目标区块链的适配器,以通过适配器与目标区块链进行数据的接收以及发送。
其中,适配器可以是与区块链一一对应的适配器,可以通过所述适配器与对应的目标区块链通信,例如,通过ETH适配器可以与ETH通信,通过EOS适配器可以与EOS通信,对应于不同目标区块链的适配器,可以将从调用接口获取的数据转换为符合该目标区块链的数据规范的标准数据并进行传输,具体的转换、传输方式可以根据不同目标区块链的要求确定。
参照图4,在一种具体实现中,调用接口41可以接收触发操作,调度器42与所述调用接口41相连接,可以响应于所述调用接口41接收的触发操作,解析所述触发操作对应的目标区块链44以及具体的通信需求。其中,解析所述触发操作对应的目标区块链44可以是确定所述触发操作对应的目标区块链44是ETH、EOS、或者是其他区块链,解析所述触发操作具体的通信需求可以是确定发送数据或者是接收数据等。
在具体实施中,调度器42与适配器43相连接,调度器42解析所述触发操作,获取所述触发操作对应的目标区块链44以及具体的通信需求后,转发所述通信需求给对应目标区块链44的适配器43。例如,目标区块链44为ETH,调度器42则将通信需求转发给对应的ETH的适配器43。对应目标区块链44的适配器43接收所述调度器42转发的通信需求,执行与所述目标区块链44之间的数据发送或者接收。
通过解析对调用接口的触发操作,确定目标区块链以及通信需求,并调用对应目标区块链的适配器进行通信,可以使通信需求中的数据通过所述适配器传输至所述目标区块链,可以提升与目标区块链的通信质量。
如前所述,软件工具开发包可以是已有软件工具开发包,也可以是根据对目标语言的选择后生成的软件工具开发包。在具体实施中,可以根据所述开发需求信息生成所述软件工具开发包。其中,开发需求信息不同,生成的软件工具开发包不同,例如,可以是根据待进行操作的智能合约的信息,生成对应所述智能合约信息的软件工具开发包,或者根据对区块链的选择操作,确定生成对应选择的区块链的软件工具开发包,或者对目标语言的选择,生成对应所述目标语言的软件工具开发包。以下将进行详细说明。
根据开发需求信息,生成对应于所述开发需求信息的所述软件工具开发包,可以使生成的软件工具开发包更符合应用程序的开发要求,可以提升后续使用软件工具开发包的便捷性,从而可以提升应用程序开发的便捷性。
如前所述,所述开发需求信息可以包括对区块链进行通信的需求信息以及目标语言。在本发明一具体实现中,所述对区块链进行通信的可以包括待进行操作的智能合约的信息,所述基于所述开发需求信息提供的所述目标语言的软件工具开发包可以包括对应于所述智能合约的操作的调用接口。
其中,智能合约为运行在区块链上的一段代码,代码的逻辑定义了智能合约的约定的内容,合约的账户保留着合约的运行状态。在本发明的具体实施中,区块链不同,对应区块链的智能合约不同。
所述智能合约的信息可以是智能合约对应区块链的信息,或者是智能合约的数据交互需求等信息,智能合约不同,对应的智能合约信息不同,软件工具开发包中对应于智能合约的操作的调用接口不同。
在具体实施中,所述待进行操作的智能合约的信息可以包括所述智能合约的数据交互需求,所述对接区块链的方法还可以包括:生成对应于所述智能合约的数据交互需求的智能合约模板,所述智能合约模板包括所述数据交互需求确定的区块链的输入数据字段、输出数据字段、以及所述智能合约模板的操作名称。
其中,智能合约模板可以是由前文所述的软件工具开发包的智能合约模板生成器生成,所述智能合约模板可以定义了区块链的输入数据字段、输出数据字段、以及所述智能合约模板的操作名称。例如,当需要生成的智能合约模板为投票时,智能合约模板可以包括所述智能合约模板的操作名称,例如“投票”,以及需要与对区块链的输入数据字段以及输出数据字段,其中,不同的操作名称对应智能合约中不同的操作,例如“投票”“交易”“转账”等,对区块链的输入数据字段,可以包括“投票人”字段,“投票内容”字段,从区块链接收的字段,也即输出字段可以是“成功/失败”字段。
在具体实施中,通过提供智能合约模板,接收根据具体业务的业务需求,在得到的智能合约模板中写入具体的业务内容生成智能合约,可以提升开发效率。
进一步的,所述对接区块链的方法还可以包括:响应于对智能合约接口的触发操作,通过所述智能合约接口对基于所述智能合约模板生成的所述智能合约进行操作,所述智能合约接口为所述对应于所述智能合约的操作的调用接口。
在具体实施中,可以通过智能合约部署接口将根据模板生成的所述智能合约部署至对应的区块链上,例如,生成的智能合约为对应ETH的智能合约,则通过所述智能合约部署接口将所述智能合约部署到ETH,如果生成的智能合约为对应EOS的智能合约,则通过所述智能合约部署接口将所述智能合约部署到EOS。
在具体实施中,部署至区块链的智能合约可以通过智能合约调用接口被调用,例如,当对应ETH的智能合约部署至ETH后,可以通过智能合约调用接口调用部署至ETH上的智能合约。
通过智能合约接口可以对智能合约模板生成的智能合约进行操作,从而,可以减少对智能合约生成操作中的流程,进而可以提升应用程序开发的效率。
在本发明另一具体实现中,所述对区块链进行通信的需求信息可以包括目标区块链,所述基于所述开发需求信息提供所述目标语言的软件工具开发包可以包括:生成用于与所述目标区块链进行通信的适配器。
如前所述,适配器可以是与区块链一一对应的适配器,软件工具开发包中包括的适配器的种类与数量可以是根据对区块链进行通信的需求信息中目标区块链44的信息确定的,对应不同的目标区块链44生成对应不同的适配器43,例如,目标区块链44为ETH,则生成对应ETH的适配器43,目标区块链44为EOS,则生成对应EOS的适配器43。
对区块链进行通信的需求信息中包括目标区块链,软件工具开发包包括用于与目标区块链进行通信的适配器,可以使得软件工具开发包更具针对性,减小软件工具开发包的空间占用,以及可以提升生成软件工具开发包的效率。
参考图5,在本发明一具体实现中,所述开发需求信息可以采用预设的区块链定义语言编写,基于所述开发需求信息提供所述目标语言的软件工具开发包可以包括:
步骤S51,基于所述区块链定义语言的要求编译所述开发需求信息,得到编译通过后的编译信息;
步骤S52,基于所述编译信息,生成所述目标语言的所述软件工具开发包。
其中,所述区块链定义语言可以是一种预设的语言,可以在开发端以该预设的区块链定义语言,编写用于支持软件工具开发包生成器生成软件工具开发包的源文件。可以通过编译器对以区块链定义语言编写的源文件进行编译,以得到编译信息,所述编译信息可以是编译文件。
在具体实施中,如果在开发端编写的源文件没有按照预设的区块链定义语言编写,或者有其他的编写错误,编译器可以进行错误提示,请求对不符合区块链定义语言或者是编写错误的内容进行修订。
基于区块链定义语言的要求编译所述开发需求信息,得到编译信息,以根据所述编译信息生成开发应用程序的软件工具开发包。从而,可以以统一的语言编写对应不同区块链的开发需求信息,相比于对不同区块链分别进行开发,可以加速开发流程,提升开发效率。
在具体实施中,也可以采用区块链定义语言编写智能合约的信息,也即,可以利用区块链定义语言编写支持智能合约模板生成器的源文件。可以理解的是,用于支持软件工具开发包生成器的源文件和用于支持智能合约模板生成器的源文件可以是同一源文件,或者也可以是不同的源文件。
继续参考图5,在具体实施中,所述对接区块链的方法还可以包括:步骤S53,基于所述编译信息,生成对应于所述区块链的智能合约的模板,所述智能合约模板包括数据交互需求确定的区块链的输入数据字段,输出数据字段、以及所述智能合约模板的操作名称。
例如,当需要生成的智能合约模板为投票时,智能合约的信息可以包括智能合约模板的操作名称,例如“投票”,以及需要与对区块链的输入数据字段以及输出数据字段,其中对区块链的输入数据字段,可以包括“投票人”字段,“投票内容”字段,从区块链接收的字段,也即输出字段可以是“成功/失败”字段。上述输入数据字段以及输出数据字段的需求,可以通过区块链开发语言编写。
在具体实施中,生成的编译信息可以包括智能合约的信息,可以通过软件工具开发包的智能合约模板生成器生成对应所述编译信息的智能合约模板,生成智能合约模板后,可以根据具体的业务内容需求,编写生成对应智能合约模板的智能合约。
通过采用预设的区块链定义语言编写智能合约的信息,生成对应于区块链的智能合约模板,基于智能合约模板生成智能合约,从而对应不同的区块链,均可以采用预设的区块链定义语言编写开发需求信息,可以提升开发效率。生成的智能合约模板是基于需求信息的,更契合应用程序的业务需求。
本发明实施例还提供一种对接区块链的装置,其结构示意图参见图6,具体可以包括:
开发需求信息接收单元61,被配置为接收开发需求信息,所述开发需求信息包括对区块链进行通信的需求信息以及目标语言;
软件工具开发包提供单元62,被配置为基于所述开发需求信息提供对应所述目标语言的软件工具开发包,所述软件工具开发包包括对应所述开发需求信息的调用接口,所述调用接口被配置为触发与所述区块链进行通信的通路。
在具体实施中,所述对接区块链的装置还可以包括:
区块链标准数据生成单元63,被配置为响应于对所述调用接口的触发操作,对所述调用接口接收到的数据进行处理得到区块链标准数据,所述区块链标准数据符合目标区块链的数据规范,所述目标区块链为待进行通信的区块链;
区块链标准数据发送单元64,被配置为发送所述区块链标准数据至所述目标区块链。
在具体实施中,所述对接区块链的装置还可以包括:
触发操作解析单元65,被配置为响应于对所述调用接口的触发操作,解析所述触发操作确定目标区块链以及与所述目标区块链的通信需求,所述目标区块链为待进行通信的区块链;
适配器调用单元66,被配置为调用对应所述目标区块链的适配器,通过所述适配器与所述目标区块链进行符合所述通信需求的通信。
在本发明一具体实现中,所述对区块链进行通信的需求信息可以包括待进行操作的智能合约的信息,所述基于所述开发需求信息提供的所述目标语言的软件工具开发包可以包括对应于所述智能合约的操作的调用接口。
进一步的,所述待进行操作的智能合约的信息可以包括所述智能合约的数据交互需求,所述对接区块链的装置还可以包括:智能合约模板第一生成单元67,被配置为生成对应于所述智能合约的数据交互需求的智能合约模板,所述智能合约模板包括所述数据交互需求确定的区块链的输入数据字段、输出数据字段、以及所述智能合约模板的操作名称。
进一步的,所述对接区块链的装置还可以包括:智能合约操作单元68,被配置为响应于对智能合约接口的触发操作,通过所述智能合约接口对基于所述智能合约模板生成的所述智能合约进行操作,所述智能合约接口为所述对应于所述智能合约的操作的调用接口。
在本发明另一具体实现中,所述对区块链进行通信的需求信息可以包括目标区块链,所述软件工具开发包提供单元62可以包括:适配器生成子单元621,被配置为生成用于与所述目标区块链进行通信的适配器。
在具体实施中,所述开发需求信息可以采用预设的区块链定义语言编写,所述软件工具开发包提供单元62可以包括:
编译信息生成子单元622,被配置为基于所述区块链定义语言的要求编译所述开发需求信息,得到编译通过后的编译信息;
软件工具开发包生成子单元623,被配置为基于所述编译信息,生成所述目标语言的所述软件工具开发包。
进一步的,所述开发需求信息还可以包括智能合约的信息,所述对接区块链的装置还可以包括:智能合约模板第二生成单元69,被配置为基于所述编译信息,生成对应于所述区块链的智能合约模板,所述智能合约模板包括数据交互需求确定的区块链的输入数据字段、输出数据字段、以及所述智能合约模板的操作名称。
本发明实施例中的对接区块链的装置所涉及的名词解释、工作原理、具体实施方式以及有益效果均可以参见本发明实施例中的对接区块链的方法,在此不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时可以执行所述对接区块链的方法的步骤,具体可以参照上述实施例,此处不再赘述。
所述计算机可读存储介质可以是光盘、机械硬盘、固态硬盘等。
本发明实施例还提供一种终端,可以包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述对接区块链的方法的步骤,具体可以参照上述实施例,此处不再赘述。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (20)

1.一种对接区块链的方法,其特征在于,包括:
接收开发需求信息,所述开发需求信息包括对区块链进行通信的需求信息以及目标语言;
基于所述开发需求信息提供对应所述目标语言的软件工具开发包,所述软件工具开发包包括对应所述开发需求信息的调用接口,所述调用接口被配置为触发与所述区块链进行通信的通路。
2.根据权利要求1所述的对接区块链的方法,其特征在于,所述对接区块链的方法还包括:
响应于对所述调用接口的触发操作,对所述调用接口接收到的数据进行处理得到区块链标准数据,所述区块链标准数据符合目标区块链的数据规范,所述目标区块链为待进行通信的区块链;
发送所述区块链标准数据至所述目标区块链。
3.根据权利要求1所述的对接区块链的方法,其特征在于,所述对接区块链的方法还包括:
响应于对所述调用接口的触发操作,解析所述触发操作,确定目标区块链以及与所述目标区块链的通信需求,所述目标区块链为待进行通信的区块链;
调用对应所述目标区块链的适配器,通过所述适配器与所述目标区块链进行符合所述通信需求的通信。
4.根据权利要求1所述的对接区块链的方法,其特征在于,所述对区块链进行通信的需求信息包括待进行操作的智能合约的信息,所述基于所述开发需求信息提供的所述目标语言的软件工具开发包包括对应于所述智能合约的操作的调用接口。
5.根据权利要求4所述的对接区块链的方法,其特征在于,所述待进行操作的智能合约的信息包括所述智能合约的数据交互需求,所述对接区块链的方法还包括:生成对应于所述智能合约的数据交互需求的智能合约模板,所述智能合约模板包括所述数据交互需求确定的所述区块链的输入数据字段、输出数据字段、以及所述智能合约模板的操作名称。
6.根据权利要求5所述的对接区块链的方法,其特征在于,所述对接区块链的方法还包括:响应于对智能合约接口的触发操作,通过所述智能合约接口对基于所述智能合约模板生成的所述智能合约进行操作,所述智能合约接口为所述对应于所述智能合约的操作的调用接口。
7.根据权利要求1所述的对接区块链的方法,其特征在于,所述对区块链进行通信的需求信息包括目标区块链,所述基于所述开发需求信息提供所述目标语言的软件工具开发包包括:生成用于与所述目标区块链进行通信的适配器。
8.根据权利要求1所述的对接区块链的方法,其特征在于,所述开发需求信息采用预设的区块链定义语言编写,基于所述开发需求信息提供所述目标语言的软件工具开发包包括:
基于所述区块链定义语言的要求编译所述开发需求信息,得到编译通过后的编译信息;
基于所述编译信息,生成所述目标语言的所述软件工具开发包。
9.根据权利要求8所述的对接区块链的方法,其特征在于,所述开发需求信息还包括智能合约的信息,所述对接区块链的方法还包括:
基于所述编译信息,生成对应于所述区块链的智能合约模板,所述智能合约模板包括数据交互需求确定的区块链的输入数据字段、输出数据字段、以及所述智能合约模板的操作名称。
10.一种对接区块链的装置,其特征在于,包括:
开发需求信息接收单元,被配置为接收开发需求信息,所述开发需求信息包括对区块链进行通信的需求信息以及目标语言;
软件工具开发包提供单元,被配置为基于所述开发需求信息提供对应所述目标语言的软件工具开发包,所述软件工具开发包包括对应所述开发需求信息的调用接口,所述调用接口被配置为触发与所述区块链进行通信的通路。
11.根据权利要求10所述的对接区块链的装置,其特征在于,所述对接区块链的装置还包括:
区块链标准数据生成单元,被配置为响应于对所述调用接口的触发操作,对所述调用接口接收到的数据进行处理得到区块链标准数据,所述区块链标准数据符合目标区块链的数据规范,所述目标区块链为待进行通信的区块链;
区块链标准数据发送单元,被配置为发送所述区块链标准数据至所述目标区块链。
12.根据权利要求10所述的对接区块链的装置,其特征在于,所述对接区块链的装置还包括:
触发操作解析单元,被配置为响应于对所述调用接口的触发操作,解析所述触发操作,确定目标区块链以及与所述目标区块链的通信需求,所述目标区块链为待进行通信的区块链;
适配器调用单元,被配置为调用对应所述目标区块链的适配器,通过所述适配器与所述目标区块链进行符合所述通信需求的通信。
13.根据权利要求10所述的对接区块链的装置,其特征在于,所述对区块链进行通信的需求信息包括待进行操作的智能合约的信息;
所述基于所述开发需求信息提供的所述目标语言的软件工具开发包包括对应于所述智能合约的操作的调用接口。
14.根据权利要求13所述的对接区块链的装置,其特征在于,所述待进行操作的智能合约的信息包括所述智能合约的数据交互需求,所述对接区块链的装置还包括:智能合约模板第一生成单元,被配置为生成对应于所述智能合约的数据交互需求的智能合约模板,所述智能合约模板包括所述数据交互需求确定的区块链的输入数据字段、输出数据字段、以及所述智能合约模板的操作名称。
15.根据权利要求14所述的对接区块链的装置,其特征在于,所述对接区块链的装置还包括:智能合约操作单元,被配置为响应于对智能合约接口的触发操作,通过所述智能合约接口对基于所述智能合约模板生成的所述智能合约进行操作,所述智能合约接口为所述对应于所述智能合约的操作的调用接口。
16.根据权利要求10所述的对接区块链的装置,其特征在于,所述对区块链进行通信的需求信息包括目标区块链,所述软件工具开发包提供单元包括:适配器生成子单元,被配置为生成用于与所述目标区块链进行通信的适配器。
17.根据权利要求10所述的对接区块链的装置,其特征在于,所述开发需求信息采用预设的区块链定义语言编写,所述软件工具开发包提供单元包括:
编译信息生成子单元,被配置为基于所述区块链定义语言的要求编译所述开发需求信息,得到编译通过后的编译信息;
软件工具开发包生成子单元,被配置为基于所述编译信息,生成所述目标语言的所述软件工具开发包。
18.根据权利要求17所述的对接区块链的装置,其特征在于,所述开发需求信息还包括智能合约的信息,所述对接区块链的装置还包括:
智能合约模板第二生成单元,被配置为基于所述编译信息,生成对应于所述区块链的智能合约模板,所述智能合约模板包括数据交互需求确定的区块链的输入数据字段、输出数据字段、以及所述智能合约模板的操作名称。
19.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至9任一项所述对接区块链的方法的步骤。
20.一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至9任一项所述对接区块链的方法的步骤。
CN201811611346.XA 2018-12-27 2018-12-27 一种对接区块链的方法及其装置、介质、终端 Pending CN109683867A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811611346.XA CN109683867A (zh) 2018-12-27 2018-12-27 一种对接区块链的方法及其装置、介质、终端
US16/726,777 US10725744B2 (en) 2018-12-27 2019-12-24 Method for adapting to blockchain and device, terminal and medium performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811611346.XA CN109683867A (zh) 2018-12-27 2018-12-27 一种对接区块链的方法及其装置、介质、终端

Publications (1)

Publication Number Publication Date
CN109683867A true CN109683867A (zh) 2019-04-26

Family

ID=66190551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811611346.XA Pending CN109683867A (zh) 2018-12-27 2018-12-27 一种对接区块链的方法及其装置、介质、终端

Country Status (1)

Country Link
CN (1) CN109683867A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113229A (zh) * 2019-05-01 2019-08-09 中央财经大学 一种区块链基准性能测试系统和工具
WO2021042715A1 (zh) * 2019-09-04 2021-03-11 北京海益同展信息科技有限公司 用于开发智能合约的系统、方法和装置
CN113421076A (zh) * 2021-06-22 2021-09-21 康键信息技术(深圳)有限公司 分布式转账方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681739A (zh) * 2017-01-11 2017-05-17 杭州云象网络技术有限公司 一种智能合约的自动化生成方法
CN107145605A (zh) * 2017-06-07 2017-09-08 北京天德科技有限公司 一种基于区块链统一接口(obcc)的许可链应用系统
CN107395674A (zh) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 一种应用系统访问异构区块链平台的方法及装置
CN108052321A (zh) * 2017-12-28 2018-05-18 杭州趣链科技有限公司 一种基于配置信息自动生成区块链智能合约的方法
CN108346110A (zh) * 2018-01-26 2018-07-31 广东工业大学 一种基于制造区块链的信息交互系统
WO2018165472A1 (en) * 2017-03-08 2018-09-13 Ip Oversight Corporation System and method for creating commodity asset-secured tokens from reserves
CN108769757A (zh) * 2018-05-25 2018-11-06 数字乾元科技有限公司 视频统计与交易系统及方法
CN108769173A (zh) * 2018-05-21 2018-11-06 阿里体育有限公司 运行智能合约的区块链实现方法及设备
CN108830720A (zh) * 2018-06-21 2018-11-16 北京京东尚科信息技术有限公司 智能合约运行方法、装置、系统和计算机可读存储介质
CN108989118A (zh) * 2018-07-31 2018-12-11 温州市图盛科技有限公司 一种基于go语言的企业级私有区块链部署工具

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681739A (zh) * 2017-01-11 2017-05-17 杭州云象网络技术有限公司 一种智能合约的自动化生成方法
WO2018165472A1 (en) * 2017-03-08 2018-09-13 Ip Oversight Corporation System and method for creating commodity asset-secured tokens from reserves
CN107145605A (zh) * 2017-06-07 2017-09-08 北京天德科技有限公司 一种基于区块链统一接口(obcc)的许可链应用系统
CN107395674A (zh) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 一种应用系统访问异构区块链平台的方法及装置
CN108052321A (zh) * 2017-12-28 2018-05-18 杭州趣链科技有限公司 一种基于配置信息自动生成区块链智能合约的方法
CN108346110A (zh) * 2018-01-26 2018-07-31 广东工业大学 一种基于制造区块链的信息交互系统
CN108769173A (zh) * 2018-05-21 2018-11-06 阿里体育有限公司 运行智能合约的区块链实现方法及设备
CN108769757A (zh) * 2018-05-25 2018-11-06 数字乾元科技有限公司 视频统计与交易系统及方法
CN108830720A (zh) * 2018-06-21 2018-11-16 北京京东尚科信息技术有限公司 智能合约运行方法、装置、系统和计算机可读存储介质
CN108989118A (zh) * 2018-07-31 2018-12-11 温州市图盛科技有限公司 一种基于go语言的企业级私有区块链部署工具

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
企鹅号 - 大连飞创: "Hyperledger Fabric解密之架构篇", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/NEWS/118643》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113229A (zh) * 2019-05-01 2019-08-09 中央财经大学 一种区块链基准性能测试系统和工具
WO2021042715A1 (zh) * 2019-09-04 2021-03-11 北京海益同展信息科技有限公司 用于开发智能合约的系统、方法和装置
CN113421076A (zh) * 2021-06-22 2021-09-21 康键信息技术(深圳)有限公司 分布式转账方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109683867A (zh) 一种对接区块链的方法及其装置、介质、终端
CN109324787A (zh) 一种业务软件开发方法、装置及终端设备
CN109034814A (zh) 基于以太坊虚拟机的智能合约处理方法和装置
CN1832478B (zh) 用于传统组件的动态服务生成的方法和设备
CN105637478A (zh) 原生移动应用代码的计算机辅助开发
CN103176899B (zh) 手机模拟器及在宿主机上模拟手机功能的方法
CN113688186B (zh) 智能合约执行方法、引擎及区块链节点
CN108833140A (zh) 交互式语音应答配置系统、方法、电子设备和存储介质
CN109783802A (zh) 一种业务规则处理方法、服务器及计算机可读存储介质
CN108304269A (zh) 一种数据的发送、接收方法、装置及通信框架
US6185521B1 (en) System and method for emulating mainframe channel programs by open systems computer systems
CN105893320A (zh) 一种面向多核处理器的远程任务函数调用方法
CN109445323A (zh) 一种基于web的分布式智能测控软件平台设计方法
Kraemer et al. Aligning UML 2.0 state machines and temporal logic for the efficient execution of services
WO2022217759A1 (zh) 一种eSIM码号管理方法及装置
JPH1169016A (ja) 呼制御管理システム
CN101335651B (zh) 一种终端仿真测试系统及使用该系统扩充终端的方法
US10725744B2 (en) Method for adapting to blockchain and device, terminal and medium performing the same
US6516355B1 (en) Methods and apparatus for controlling digital communications switching equipment
CN106775978A (zh) 脚本调用方法及指令调试装置
CN101179772A (zh) 一种业务开通的方法及装置
CN110287187A (zh) 多个服务器中数据表同步更新方法、系统和存储介质
CN103546527B (zh) 一种可扩展的工业组态或仿真软件通信方法
CN108829379A (zh) 一种多硬件接口通讯协议软件按需自动生成方法
CN114510323A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190426

RJ01 Rejection of invention patent application after publication