CN110532498A - 一种面向联盟链终端服务的用户与服务连接信息处理方法 - Google Patents

一种面向联盟链终端服务的用户与服务连接信息处理方法 Download PDF

Info

Publication number
CN110532498A
CN110532498A CN201910833009.3A CN201910833009A CN110532498A CN 110532498 A CN110532498 A CN 110532498A CN 201910833009 A CN201910833009 A CN 201910833009A CN 110532498 A CN110532498 A CN 110532498A
Authority
CN
China
Prior art keywords
service
user
chain
small routine
data
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
CN201910833009.3A
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.)
Zhejiang Normal University CJNU
Original Assignee
Zhejiang Normal University CJNU
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 Zhejiang Normal University CJNU filed Critical Zhejiang Normal University CJNU
Priority to CN201910833009.3A priority Critical patent/CN110532498A/zh
Publication of CN110532498A publication Critical patent/CN110532498A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明属于信息数据处理技术领域,公开了一种面向联盟链终端服务的用户与服务连接信息处理方法,面向区块链终端服务的小程序通过网络API指定域名的方法连接到中间服务层,中间服务层通过request相关参数对接,实现与小程序的交互;然后通过编写区块链的详细接口信息,创建客户端与用户,将需求和数值传入链码与区块链进行交互。本发明通过中间服务层的连接,编写JAVA‑SDK以及使用wx.request分别实现区块链与服务层,微信小程序与服务层的对接。将微信小程序优势与区块链特性契合,为未来服务业中区块链技术提供了可观的前景和巨大的发挥空间。

Description

一种面向联盟链终端服务的用户与服务连接信息处理方法
技术领域
本发明属于信息数据处理技术领域,尤其涉及一种面向联盟链终端服务的用户与服务连接信息处理方法。
背景技术
目前,最接近的现有技术:
联盟链的超级账本(Hyperledger)为各种编程语言提供大量SDK,如Node.js和Java SDK,随后版本陆续提供可生产使用的Python、Restful和Go SDK。通过调用SDK促进应用程序管理Hyperledger Channel和用户智能合约的生命周期,同时SDK还提供了一种方法来执行用户智能合约、查询交易区块和Channel上的交易,并监控Channel上的事件。使得中间服务层可以清晰便捷的使用SDK与Fabric交互。
而微信小程序则提供了使用网络相关的API,通过指定域名的方法进行网络通信,常用的是HTTPS请求(wx.request),通过url连接到开发者服务器(中间层)接口地址,通过请求参数Data以及接口调用成功或者失败的回调函数实现与服务层的数据交互。
虽然,区块链和小程序都提供对外接口以实现交互,但小程序更多的是与中心化服务器进行交互,信息信任安全性得不到保障,而区块链技术也没有对外直接连接小程序的手段,想要实现则需借助中间件,但目前没有一套成熟且完善的联盟链与终端小程序交互的技术方案。
综上所述,现有技术存在的问题是:
(1)现有的微信小程序没有利用区块链技术搭载的终端进行链码功能方便的呈现,导致区块链所具有的特性不能广泛应用。
(2)现有的微信小程序信息信任安全性差。
(3)没有一个成熟的面向区块链的终端的小程序开发技术方案。
解决上述技术问题的难度:
解决上述技术问题的难度主要是如何构建既连接区块链终端又连接微信小程序的中间件。并使得微信小程序的功能需求以及数据通过中间件与区块链进行交互。
解决上述技术问题的意义:
使用微信小程序实现超级账本终端的应用服务,不仅使Chaincode进行分布式逻辑处理的业务更加清晰便捷的展示出来,而且最大程度的发挥了超级账本可插拔模块,供企业定制、扩展的特性,实现了数据不可篡改,不可控制,企业只需根据需求开发相应小程序,然后通过此方法与超级账本连接,即可搭建属于企业本身的区块链生态,而所有微信用户就是潜在的大量客户,超级账本所解决的信任危机与小程序所独有的安全机制契合将颠覆传统模式。
发明内容
针对现有技术存在的问题,本发明提供了一种面向联盟链终端服务的用户与服务连接信息处理方法。
本发明是这样实现的,一种面向联盟链终端服务的用户与服务连接信息处理方法,所述面向联盟链终端服务的用户与服务连接信息处理方法的面向区块链终端服务的微信小程序,通过网络API指定域名的方法连接到中间服务层,中间服务层通过request相关参数对接,实现与微信小程序的交互;然后通过编写区块链的详细接口信息,创建客户端与用户,将需求和数值传入链码与区块链进行交互。
进一步,所述面向联盟链终端服务的用户与服务连接信息处理方法包括以下步骤:
第一步,面向微信小程序在终端发起需求,指某一功能或者某一数据请求;
第二步,当发起请求,连接中间服务层进行传输,在小程序逻辑层通过wx.requestAPI将数据或需求传送到url所指定的服务器地址实现与服务器对接,使用data{}携带需要传入的数据;
第三步,中间服务层通过value对接小程序url地址,接收小程序端发送的需求或数据,整理或对数据进行处理重新定义;
第四步,中间服务层创建客户端,通过编写的SDK接口将需求以及数据发送到指定链码层;
第五步,链码执行对应方法与功能将需要的数据保存进账本数据库并返回数据;
第六步,通过编写的SDK接口,链码将方法执行完返回的结果发送给中间件服务端,所述结果为成功或失败结果或是处理数据返回的数据信息;
第七步,中间服务层客户端通过SDK接口接收到返回的结果信息,针对信息做出对数据处理或者对结果的处理;
第八步,中间服务层接收从链码传过来的数据处理后通过wx.request API对接的url地址以及成功回调函数或失败回调函数将数据发送给微信小程序端;
第九步,微信小程序从回调函数中res.data接收数据并展示在前端页面。
进一步,第二步中,所述微信小程序使用Wxml语言设计界面的基本元素与构成,通过Wxss语言修改界面样式与布局;Wxml、Wxss的结合完成前端界面的开发;
使用JavaScript编写小程序逻辑层,参与数据获取与交互,设计使网络相关的APIrequest,通过编写url对接到服务器。
进一步,第三步中,所述中间服务层包括设计与小程序对接的接口
设计对接小程序接口中,使用java或node.js语言编写Request相关参数与需求,首先设置request的对接信息RequestMapping中的value对应微信小程序的url地址。然后通过RequestParam获取终端微信的传值,在链码完成交易或者功能后通过return返回给小程序端;
进一步,第四步具体包括,设计对接区块链接口信息并创建客户端,然后将将需求以及数据发送到指定链码层。
设计对接区块链接口中包括:设计接口定义信息;首先要创建接口信息定义Fabric链码:需要定义并对应ChaincodeID,BlockchainInfo,peerChannels,ChaincodeInfo以及链码安装地址url,用户名以及密码admin和password,证书和身份验证的MSPId以及通道名称mychannel和CA认证的密码caPassword;
创建客户端与用户,创建完成接口定义信息,使用定义的接口信息实例化并创建客户端与用户,使用getCaClient()创建HFCa客户端以及getAdmin()获取管理员的身份,当创建客户端与注册用户完成,需要创建用户,使用createUser()创建用户,其中需要用到HFCa客户端以及管理员身份,用户名,MspId,用户密码五个参数,创建通道的客户端代理hfclient.newChannel,使用hfclient.newOrderer()创建orderer,使用channel.addOrderer()将orderer添加进通道,使用hfclient.newPeer()创建背书节点peer,使用channel.addPeer()将背书节点加入通道,然后将通道初始化channel.initialize();
第五步中,将需求以及数据发送到指定链码层:通过使用连接区块链的信息以及客户端与用户等信息,设计方法发送交易请求,将用户名,HFCa客户端,通道以及通过channel.getPeers()收集到的peer和通过RequestParam获取微信的传值,链码的方法名,这六个参数发送并完成交易;
具体通过hfclient.newTransactionProposalRequest()发起交易的事务请求,使用setChaincodeID()和setFcn()设置链码Id和对应方法,通过transactionProposalRequest.setArgs()设置交易请求的Arg,设置用户setUserContext(),然后通过channel.sendTransactionProposal()实现交易执行方法。且完成方法需使用定义的hfclient.newTransactionProposalRequest()和peers两参数。最终链码调用对应方法将完成指定功能。
所述链码使用GO语言开发链码的相关功能,设计结构体或方法,用于完成指定需求,将数据存储在状态数据库中。
进一步,第七步中,获取链码返回结果,使用if判断getStatus()是否等于Status.SUCCESS,如果是则交易完成,可以打印或者返回成功结果,不等于则返回失败。
本发明的另一目的在于提供一种运行所述面向联盟链终端服务的用户与服务连接信息处理方法的面向联盟链终端服务的用户与服务连接信息处理系统,所述面向联盟链终端服务的用户与服务连接信息处理系统包括:
小程序终端,通过网络API指定域名的方法连接到中间服务层,用于发起需求通过中间服务层传输的区块链的链码层,链码层完成功能并将数据返回也要通过中间服务层;
中间服务层,通过request相关参数对接,用于实现与小程序终端的交互;通过编写区块链的详细接口信息,创建客户端与用户,将需求和数值传入链码与区块链进行交互;
区块链,用于实现链码执行对应方法保存并返回方法。
本发明的另一目的在于提供一种应用所述面向联盟链终端服务的用户与服务连接信息处理方法的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的面向联盟链终端服务的用户与服务连接信息处理方法。
综上所述,本发明的优点及积极效果为:
本发明的面向区块链终端服务的小程序,通过网络API指定域名的方法连接到中间服务层,中间服务层通过request相关参数对接,实现与小程序的交互;通过编写区块链的详细接口信息,创建客户端与用户,设计方法将需求和数值传入链码与区块链进行交互。
本发明通过微信小程序为区块链技术提供终端服务,使链码的功能在服务端更为方便的呈现,区块链所具有的特性通过小程序广泛应用起来,不仅改善了行业的现有服务,还会创造新的服务。
本发明实现了超级账本如何通过SDK接口与中间服务层连接;中间服务层如何创建Hyperledger Fabric的客户端与用户;微信小程序如何通过网络API与中间服务层逻辑交互。同时也通过本发明与传统技术系统、传统APP对比体现了本发明的优越性,见下表1和表2。
传统技术系统与区块链技术系统对比表1
小程序与传统APP对比表2
本发明的区块链通过中间服务层与微信小程序进行数据逻辑交互的实现与开发方法。通过编写中间件,将Hyperledger Fabric与微信小程序连接起来,实现面向区块链服务终端的微信小程序开发。本发明通过中间服务层的连接,编写JAVA-SDK以及使用wx.request分别实现区块链与服务层,微信小程序与服务层的对接。本发明将微信小程序优势与区块链特性契合,为未来服务业中区块链技术提供了可观的前景和巨大的发挥空间。
附图说明
图1是本发明实施例提供的面向联盟链终端服务的用户与服务连接信息处理方法流程图。
图2是本发明实施例提供的面向联盟链终端服务的用户与服务连接信息处理系统的结构示意图;
图中:1、小程序终端;2、中间服务层;3、区块链。
图3是本发明实施例提供的面向联盟链终端服务的用户与服务连接信息处理方法实现流程图。
图4是本发明实施例提供的面向联盟链终端服务的用户与服务连接信息处理系统的模块设计示意图。
图5是本发明实施例提供的服务端的开发详细示意图。
图6是本发明实施例提供的添加车牌流程图。
图7是本发明实施例提供的添加车牌界面示意图。
图8是本发明实施例提供的小程序逻辑处理示意图。
图9是本发明实施例提供的终端显示成功效果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种面向联盟链终端服务的用户与服务连接信息处理方法,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的面向联盟链终端服务的用户与服务连接信息处理方法包括以下步骤:
S101:面向小程序首先需在终端发起需求,指某一功能或者某一数据请求。
S102:当发起请求,需要连接中间服务层将需求传输,在微信小程序逻辑层通过wx.request API将数据或需求传送到url所指定的服务器地址实现与服务器对接,使用data{}携带需要传入的数据。
S103:中间服务层通过value对接小程序url地址,接收小程序端发送的需求或数据,整理或对数据进行处理重新定义等。
S104:中间服务层创建客户端,通过编写的SDK接口(内含与区块链对接的基本信息)将需求以及数据发送到指定链码层。
S105:链码执行对应方法与功能将需要的数据保存进数据库并返回数据。
S106:通过编写的SDK接口,链码将方法执行完返回的结果发送给中间件服务端,成功或失败结果或是处理数据返回的数据信息。
S107:中间服务层客户端通过SDK接口接收到返回的结果信息,针对信息做出相应处理,对数据处理或者对结果的处理等等。
S108:中间服务层接收从链码传过来的数据处理后通过wx.request API对接的url地址以及成功回调函数或失败回调函数将数据发送给微信小程序端。
S109:小程序从回调函数中res.data接收数据并展示在前端页面。
如图2所示,本发明实施例提供的面向联盟链终端服务的用户与服务连接信息处理系统包括:小程序终端1、中间服务层2、区块链3。
小程序终端1,通过网络API指定域名的方法连接到中间服务层2,用于发起需求通过中间服务层2传输的区块链3的链码层,链码层完成功能并将数据返回也要通过中间服务层2。
中间服务层2,通过request相关参数对接,用于实现与小程序终端1的交互。通过编写区块链的详细接口信息,创建客户端与用户,设计方法将需求和数值传入链码与区块链3进行交互。
区块链3,用于实现链码执行对应方法保存并返回方法。
下面结合附图对本发明的技术方案作进一步的描述。
本发明实施例提供的面向联盟链终端服务的用户与服务连接信息处理系统开发设计需从三大部分进行,分别是前端部分的小程序开发,中间部分的逻辑服务层开发以及实现功能的链码层开发。实现区块链到终端小程序最主要的是中间服务层设计。
(1)微信小程序开发
微信小程序开发分为前端界面开发与小程序逻辑层开发,使用Wxml语言设计界面的基本元素与构成,通过Wxss语言修改界面样式与布局。Wxml、Wxss的结合完成前端界面的开发。然后使用微信团队改进的JavaScript编写小程序逻辑层,参与数据获取与交互,设计使网络相关的API request,通过编写url对接到服务器。
(2)中间服务层的开发
中间服务层的开发又分为两部分,分别是设计与小程序对接的接口以及设计与区块链对接的接口,如图3所示:
1)设计对接小程序接口
使用java或node.js语言编写Request相关参数与需求,首先设置request的对接信息RequestMapping中的value对应微信小程序的url地址。然后通过RequestParam获取终端微信的传值,在链码完成交易或者功能后通过return返回给小程序端。
2)设计对接区块链接口
2.1)设计接口定义信息
首先要创建接口信息定义Fabric链码:需要定义并对应ChaincodeID,BlockchainInfo,peerChannels,ChaincodeInfo以及链码安装地址url,用户名以及密码admin和password,证书和身份验证的MSPId以及通道名称mychannel和CA认证的密码caPassword。
2.2)创建客户端与用户
创建完成接口定义信息,需要使用定义的接口信息实例化并创建客户端与用户,使用getCaClient()创建HFCa客户端以及getAdmin()获取管理员的身份(注册用户),当创建客户端与注册用户完成,需要创建用户,使用createUser()创建用户,其中需要用到HFCa客户端以及管理员身份,用户名,MspId,用户密码五个参数,然后创建通道的客户端代理hfclient.newChannel(通道名称),使用hfclient.newOrderer()创建orderer(需orderer地址和端口号),使用channel.addOrderer()将orderer添加进通道,使用hfclient.newPeer()创建背书节点peer(需peer地址和端口号),使用channel.addPeer()将背书节点加入通道,然后将通道初始化channel.initialize()。
3)设计方法将需求和数值传入链码
通过1)和2)设计并创建的数据与信息以及接口,设计方法发送交易请求:将用户名,HFCa客户端,通道以及通过channel.getPeers()收集到的peer和通过RequestParam获取微信的传值,链码的方法名,这六个参数发送并完成交易。通过hfclient.newTransactionProposalRequest()发起交易的事务请求,使用setChaincodeID()和setFcn()设置链码Id和对应方法,通过transactionProposalRequest.setArgs()设置交易请求的Arg,设置用户setUserContext(),通过channel.sendTransactionProposal()实现交易执行方法。完成方法需使用定义的hfclient.newTransactionProposalRequest()和peers两参数。链码调用对应方法将完成指定功能。
4)获取链码返回结果
使用if判断getStatus()是否等于Status.SUCCESS,如果是则交易完成,可以打印或者返回成功结果,不等于则返回失败。
(3)链码的开发
使用GO语言开发链码的相关功能,设计结构体或方法,用于完成指定需求,将数据存储在状态数据库中。
下面结合实验对本发明的技术效果作详细的描述。
本实验在一个名为停车链的基于区块链新型停车服务的微信小程序上进行实现,使用停车链中添加车牌这一功能为例,通过第三部分所介绍的技术方案和实现过程添加车牌号到链码所编写的对应账户下,并访问返回添加成功的车牌号这一功能,如图6所示。
(1)Wxml、Wxss设计出添加车牌号界面(微信小程序),使用Wxml语言设计车牌号的输入框和确认提交车牌的按钮,然后通过使用Wxss对应具体的class设计布局与样式。操作逻辑是当用户输入号码,点击确认提交,保存所输入的车牌号。
(2)js处理数据逻辑以及向服务器发送请求及传参(微信小程序),通过bindinput获取用户所输入的车牌号,创建wx.request请求发送数据与需求,如图6所示。当请求发送并通过服务器调用链码功能完成需求,通过设置接口的回调函数将添加的结果返回到Wxml页面如图8所示。
(3)获取小程序的传值
在使用java语言编写的addCar方法中,小程序requerst中url准确地址对接RequestMapping中value,通过RequestParam获取传过来的车牌号CarId。
(4)SDK接口(中间服务层)
使用java编写接口ChainCodeParameter用于定义Fabric链码相关的信息,ChaincodeID,BlockchainInfo,peerChannels等。
(5)实例化创建客户端与用户(中间服务层)
使用java编写InitFabric类(此类需继承接口类ChainCodeParameter)并在init方法中创建HFCa客户端caclient以及管理员registrar,创建用户,创建通道的客户端代理,创建orderer然后将orderer添加进通道,创建背书节点,将背书节点加入通道,然后将通道初始化channel.initialize()。
(6)将需求和数值传入链码(中间服务层)
在InvokeTransaction类中设置sendTransaction方法使用user,hfclient,channel,peer,和链码方法addCar,以及输入的车牌号carId这六个参数发送并完成交易:先发起交易的事务请求,使用设置链码Id和对应方法,设置交易请求的Arg,设置用户,实现交易执行方法。完成方法,链码调用对应addCar将车牌carId添加到数据库。
(7)获取链码返回结果(中间服务层)
如果状态getStatus()等于Status.SUCCESS,则添加车牌成功,不等于则返回添加失败。
(8)使用GO语言开发链码(链码端)
使用go语言创建结构体以及添加车牌号的方法,并使用peer chaincode install将链码安装到指定的peer节点上然后进行instantiate实例化以及背书,也可以使用invoke直接调用链码在节点上进行测试功能。
(9)结果验证:如图7所示,输入添加车牌。
(10)终端显示成功,如图9所示。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种面向联盟链终端服务的用户与服务连接信息处理方法,其特征在于,所述面向联盟链终端服务的用户与服务连接信息处理方法的面向区块链终端服务的微信小程序,通过网络API指定域名的方法连接到中间服务层,所述中间服务层通过request相关参数对接,实现与微信小程序的交互;
然后通过编写区块链的详细接口信息,创建客户端与用户,将需求和数值传入链码与区块链进行交互。
2.如权利要求1所述的面向联盟链终端服务的用户与服务连接信息处理方法,其特征在于,所述面向联盟链终端服务的用户与服务连接信息处理方法包括以下步骤:
第一步,面向微信小程序在终端发起需求,指某一功能或者某一数据请求;
第二步,当发起请求,需要连接中间服务层将需求传输,在小程序逻辑层通过wx.request API将数据或需求传送到url所指定的服务器地址实现与服务器对接,使用data{}携带需要传入的数据;
第三步,中间服务层通过value对接小程序url地址,接收小程序端发送的需求或数据,整理或对数据进行处理重新定义;
第四步,中间服务层创建客户端,通过编写的SDK接口将需求以及数据发送到指定链码层;
第五步,链码执行对应方法与功能将需要的数据保存进数据库并返回数据;
第六步,通过编写的SDK接口,链码将方法执行完返回的结果发送给中间件服务端,成功或失败结果或是处理数据返回的数据信息;
第七步,中间服务层客户端通过SDK接口接收到返回的结果信息,针对信息做出相应处理,对数据处理或者对结果的处理;
第八步,中间服务层接收从链码传过来的数据处理后通过wx.request API对接的url地址以及成功回调函数或失败回调函数将数据发送给微信小程序端;
第九步,微信小程序从回调函数中res.data接收数据并展示在前端页面。
3.如权利要求2所述的面向联盟链终端服务的用户与服务连接信息处理方法,其特征在于,第二步中,所述微信小程序使用Wxml语言设计界面的基本元素与构成,通过Wxss语言修改界面样式与布局;Wxml、Wxss的结合完成前端界面的开发;
使用JavaScript编写小程序逻辑层,参与数据获取与交互,设计使网络相关的APIrequest,通过编写url对接到服务器。
4.如权利要求2所述的面向联盟链终端服务的用户与服务连接信息处理方法,其特征在于,第三步中,所述中间服务层包括设计与小程序对接的接口以及设计与区块链对接的接口;
设计对接小程序接口中,使用java或node.js语言编写Request相关参数与需求,首先设置request的对接信息RequestMapping中的value对应微信小程序的url地址。然后通过RequestParam获取终端微信的传值,在链码完成交易或者功能后通过return返回给小程序端;
设计对接区块链接口中包括:设计接口定义信息;首先要创建接口信息定义Fabric链码:需要定义并对应ChaincodeID,BlockchainInfo,peerChannels,ChaincodeInfo以及链码安装地址url,用户名以及密码admin和password,证书和身份验证的MSPId以及通道名称mychannel和CA认证的密码caPassword。
5.如权利要求2所述的面向联盟链终端服务的用户与服务连接信息处理方法,其特征在于,第四步具体包括,创建客户端与用户,创建完成接口定义信息,使用定义的接口信息实例化并创建客户端与用户,使用getCaClient()创建HFCa客户端以及getAdmin()获取管理员的身份,当创建客户端与注册用户完成,需要创建用户,使用createUser()创建用户,其中需要用到HFCa客户端以及管理员身份,用户名,MspId,用户密码五个参数,创建通道的客户端代理hfclient.newChannel,使用hfclient.newOrderer()创建orderer,使用channel.addOrderer()将orderer添加进通道,使用hfclient.newPeer()创建背书节点peer,使用channel.addPeer()将背书节点加入通道,然后将通道初始化channel.initialize()。
6.如权利要求2所述的面向联盟链终端服务的用户与服务连接信息处理方法,其特征在于,第五步中,设计方法将需求和数值传入链码,创建的数据与信息以及接口,设计方法发送交易请求,将用户名,HFCa客户端,通道以及通过channel.getPeers()收集到的peer和通过RequestParam获取微信的传值,链码的方法名,这六个参数发送并完成交易;通过hfclient.newTransactionProposalRequest()发起交易的事务请求,使用setChaincodeID()和setFcn()设置链码Id和对应方法,通过transactionProposalRequest.setArgs()设置交易请求的Arg,设置用户setUserContext(),通过channel.sendTransactionProposal()实现交易执行方法;完成方法使用定义的hfclient.newTransactionProposalRequest()和peers两参数;链码调用对应方法将完成指定功能;
所述链码使用GO语言开发链码的相关功能,设计结构体或方法,用于完成指定需求,将数据存储在状态数据库中。
7.如权利要求2所述的面向联盟链终端服务的用户与服务连接信息处理方法,其特征在于,第七步中,获取链码返回结果,使用if判断getStatus()是否等于Status.SUCCESS,如果是则交易完成,可以打印或者返回成功结果,不等于则返回失败。
8.一种运行权利要求1~7任意一项所述面向联盟链终端服务的用户与服务连接信息处理方法的面向联盟链终端服务的用户与服务连接信息处理系统,其特征在于,所述面向联盟链终端服务的用户与服务连接信息处理系统包括:
小程序终端,通过网络API指定域名的方法连接到中间服务层2,用于发起需求通过中间服务层传输的区块链的链码层,链码层完成功能并将数据返回也要通过中间服务层;
中间服务层,通过request相关参数对接,用于实现与小程序终端的交互;通过编写区块链的详细接口信息,创建客户端与用户,将需求和数值传入链码与区块链进行交互;
区块链,用于实现链码执行对应方法保存并返回方法。
9.一种应用权利要求1~7任意一项所述面向联盟链终端服务的用户与服务连接信息处理方法的信息数据处理终端。
10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-7任意一项所述的面向联盟链终端服务的用户与服务连接信息处理方法。
CN201910833009.3A 2019-09-04 2019-09-04 一种面向联盟链终端服务的用户与服务连接信息处理方法 Pending CN110532498A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910833009.3A CN110532498A (zh) 2019-09-04 2019-09-04 一种面向联盟链终端服务的用户与服务连接信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910833009.3A CN110532498A (zh) 2019-09-04 2019-09-04 一种面向联盟链终端服务的用户与服务连接信息处理方法

Publications (1)

Publication Number Publication Date
CN110532498A true CN110532498A (zh) 2019-12-03

Family

ID=68666832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910833009.3A Pending CN110532498A (zh) 2019-09-04 2019-09-04 一种面向联盟链终端服务的用户与服务连接信息处理方法

Country Status (1)

Country Link
CN (1) CN110532498A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180089256A1 (en) * 2013-09-23 2018-03-29 David D. Wright, SR. Management Of Entitlements Using Blockchain
CN109523349A (zh) * 2018-10-28 2019-03-26 北京工业大学 一种基于区块链溯源的农产品电商平台及实现方法
CN109636547A (zh) * 2019-01-02 2019-04-16 浙江师范大学 一种基于区块链的分布式停车共享系统及实现方法
CN109887324A (zh) * 2019-03-13 2019-06-14 南京理工大学 一种基于区块链的停车位共享系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180089256A1 (en) * 2013-09-23 2018-03-29 David D. Wright, SR. Management Of Entitlements Using Blockchain
CN109523349A (zh) * 2018-10-28 2019-03-26 北京工业大学 一种基于区块链溯源的农产品电商平台及实现方法
CN109636547A (zh) * 2019-01-02 2019-04-16 浙江师范大学 一种基于区块链的分布式停车共享系统及实现方法
CN109887324A (zh) * 2019-03-13 2019-06-14 南京理工大学 一种基于区块链的停车位共享系统及方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
0MEI: "微信小程序与服务器的交互原理", 《HTTPS://WWW.JIANSHU.COM/P/1BCB8A051CEE》 *
DOUBLEWEI1: "微信小程序上做基于以太坊的区块链", 《HTTPS://BLOG.CSDN.NET/DOUBLEWEI1/ARTICLE/DETAILS/84033876》 *
余璨璨 等: "基于Fabric的停车管理区块链系统", 《计算机应用》 *
教授玩币: "教授玩币:区块链(DApp)微信小程序云笔记实战项目开发案例", 《HTTPS://BAIJIAHAO.BAIDU.COM/S?ID=1604346491002322847&WFR=SPIDER&FOR=PC》 *
林飞龙 等: "基于区块链的城市停车共享之路", 《浙江师范大学学报》 *
申屠青春: "当中间件遇上区块链", 《HTTPS://WWW.FROMGEEK.COM/FINTECH/103501.HTML》 *

Similar Documents

Publication Publication Date Title
CN104081742B (zh) 用于提供联合服务账户的方法和装置
CN111083220B (zh) 提供金融服务应用的方法
CN109522735A (zh) 一种基于智能合约的数据权限验证方法及装置
US20060212574A1 (en) Policy interface description framework
CN108846657A (zh) 一种电子转账的方法以及相关装置
CN112330326A (zh) 一种应用于银行交易区块链系统的业务处理方法和装置
CN105144111A (zh) 用于不同web服务架构的中继服务
CN107924411A (zh) 事务系统中ui状态的恢复
CN104756142B (zh) 电子商务交易中的电话认证方法以及电话认证系统
CN105991287A (zh) 一种签名数据的生成及指纹认证请求方法及装置
US11683296B2 (en) Headless browser system with virtual API
CN109863520A (zh) 基于区块链的钱包系统及钱包使用方法、以及存储介质
CN106709713A (zh) 一种管理用户多个可穿戴设备的方法
CN108022090A (zh) 虚拟账户管理方法、设备、系统及可读存储介质
CN115913790B (zh) 基于隐私计算网络的数据传输方法、电子设备和存储介质
CN107634948A (zh) 数据交换方法和系统
Ruiz-Martínez et al. Payment frameworks for the purchase of electronic products and services
CN100530072C (zh) 一种多节点智能网络应用服务系统中的远程打印方法
US20030005032A1 (en) Remote assembly of messages for distributed applications
CN103001962B (zh) 业务支撑方法和系统
CN110532498A (zh) 一种面向联盟链终端服务的用户与服务连接信息处理方法
CN109462600A (zh) 访问应用的方法、用户设备、登录服务器和存储介质
CN115175183B (zh) 基于5g消息的鉴权方法及鉴权装置
EP1468544B1 (en) Method and apparatus for controlling a multi-node process
CN102955999B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191203