CN111338645A - 系统合约的创建方法及装置 - Google Patents

系统合约的创建方法及装置 Download PDF

Info

Publication number
CN111338645A
CN111338645A CN202010411854.4A CN202010411854A CN111338645A CN 111338645 A CN111338645 A CN 111338645A CN 202010411854 A CN202010411854 A CN 202010411854A CN 111338645 A CN111338645 A CN 111338645A
Authority
CN
China
Prior art keywords
target
federation chain
chain
alliance
members
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.)
Granted
Application number
CN202010411854.4A
Other languages
English (en)
Other versions
CN111338645B (zh
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010411854.4A priority Critical patent/CN111338645B/zh
Publication of CN111338645A publication Critical patent/CN111338645A/zh
Application granted granted Critical
Publication of CN111338645B publication Critical patent/CN111338645B/zh
Priority to PCT/CN2021/093380 priority patent/WO2021228151A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书提供一种系统合约的创建方法及装置;该方法可以包括:获取基础联盟链代码对应的业务规则集合,所述业务规则集合中包含至少一种业务类型的业务规则;响应于联盟链成员针对业务规则的选取指令,从所述业务规则集合中选取目标业务规则;根据所述目标业务规则所属的目标业务类型,以及预先定义的业务类型与所述基础联盟链代码中的预留接口之间的对应关系,确定与所述目标业务类型对应的目标预留接口;基于所述目标预留接口和所述目标业务规则创建目标系统合约。

Description

系统合约的创建方法及装置
技术领域
本说明书涉及区块链技术领域,特别涉及一种系统合约的创建方法及装置。
背景技术
随着区块链技术的不断发展,为了满足用户在不同场景的需求,区块链按照开放程度被划分为公有链(Public blockchain)、私有链(Private blockchain)和联盟链(Consortium blockchain)。其中,联盟链是针对某个特定群体的成员和有限的第三方构建的区块链网络,在具有区块链技术去中心化、不可篡改、可信任等多种特性的前提下,进一步加入了准入机制,并由联盟链中的成员共同维护。
发明内容
有鉴于此,本说明书提供一种系统合约的创建方法及装置。
本说明书提供技术方案如下:
根据本说明书的第一方面,提出了一种系统合约的创建方法,该方法包括:
获取基础联盟链代码对应的业务规则集合,所述业务规则集合中包含至少一种业务类型的业务规则;
响应于联盟链成员针对业务规则的选取指令,从所述业务规则集合中选取目标业务规则;
根据所述目标业务规则所属的目标业务类型,以及预先定义的业务类型与所述基础联盟链代码中的预留接口之间的对应关系,确定与所述目标业务类型对应的目标预留接口;
基于所述目标预留接口和所述目标业务规则创建目标系统合约。
根据本说明书的第二方面,提出了一种系统合约的创建装置,该装置包括:
第一获取单元,获取基础联盟链代码对应的业务规则集合,所述业务规则集合中包含至少一种业务类型的业务规则;
选取单元,响应于联盟链成员针对业务规则的选取指令,从所述业务规则集合中选取目标业务规则;
确定单元,根据所述目标业务规则所属的目标业务类型,以及预先定义的业务类型与所述基础联盟链代码中的预留接口之间的对应关系,确定与所述目标业务类型对应的目标预留接口;
创建单元,基于所述目标预留接口和所述目标业务规则创建目标系统合约。
根据本说明书的第三方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
根据本说明书的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
附图说明
图1是本说明书一示例性实施例示出的一种创建并部署系统合约的示意图。
图2是本说明书一示例性实施例示出的一种系统合约的创建方法的流程图。
图3是本说明书一示例性实施例示出的一种在部署联盟链过程中创建系统合约的方法的流程图。
图4是本说明书一示例性实施例示出的一种在联盟链中部署系统合约的方法的流程图。
图5是本说明书一示例性实施例示出的一种电子设备的结构示意图。
图6是本说明书一示例性实施例示出的一种系统合约的创建装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是本说明书一示例性实施例示出的一种创建并部署系统合约的示意图。
在本说明书中,联盟链成员可以委托联盟链技术的研发方研发联盟链系统。为此,联盟链技术的研发方可以在如图1所示的研发方设备11上编写基础联盟链代码,以用于创建如图1所示的通用联盟链系统,该通用联盟链系统可以实现联盟链所具有的基础功能。
在实际应用中,不同联盟链往往存在不同的治理需求,因此,需要对上述基础功能进行功能扩展,而功能扩展则需要通过创建系统合约来实现,为此,本说明书提出了一种系统合约的创建方法,在该方法中,由联盟链技术的研发方提供一系统合约创建工具,联盟链成员可以使用该工具自行创建满足治理需求的系统合约。进一步的,即可基于创建的系统合约和上述基础联盟链代码部署如图1所示的扩展联盟链系统。
图2是本说明书一示例性实施例示出的一种系统合约的创建方法的流程图。如图2所示,该方法可以包括以下步骤:
步骤202,获取基础联盟链代码对应的业务规则集合,所述业务规则集合中包含至少一种业务类型的业务规则。
本说明书的技术方案应用于任一联盟链成员所使用的设备,该设备可以为常见的用户终端,比如手机、PC(Personal Computer,个人计算机)、平板电脑、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。
联盟链是一种针对特定群体创建的区块链,不同的群体往往对联盟链存在不同的治理需求。例如,在一联盟链中,需要由特定企业的领导掌控创建账号的权限,那么可以将特定企业的领导确定为管理员,并在创建的系统合约中制定“由管理员创建账户”的业务规则;而在另一联盟链中,需要由所有联盟链成员共同决定是否可以创建账户,那么可以在创建的系统合约中制定“由联盟链成员投票创建账户”的业务规则。可见,针对不同联盟链的治理需求,需要创建不同的系统合约。
为此,本说明书预先创建了业务规则集合,该业务规则集合中包含有用于满足不同治理需求的业务规则。其中,这些业务规则可以按照所涉及的治理方向划分为不同的业务类型,例如,可以划分为账号创建、节点创建、合约部署等。而每一业务类型可以包括多个业务规则,例如,账号创建这一业务类型可以包括上述“由管理员创建账户”和“由联盟链成员投票创建账户”等多种业务规则;节点创建这一业务类型可以包括“由联盟链中特定企业的成员创建节点”、“由联盟链成员投票创建节点”等。当然,上述举例仅是示意性的,业务规则集合中包含哪些业务类型以及各个业务类型包含哪些业务规则,可由本领域技术人员根据实际情况设定,在此不作限定。
步骤204,响应于联盟链成员针对业务规则的选取指令,从所述业务规则集合中选取目标业务规则。
在本说明书中,联盟链成员所使用的设备可以展示一系统合约的创建选项,当该联盟链成员触发该创建选项时,设备可以进一步向该联盟链成员展示业务规则集合中包含的若干备选业务规则,此时,该联盟链成员只需触发若干业务规则集合中的至少一个,该设备便可接收到针对业务规则的选取指令。换言之,联盟链成员只需根据自身治理需求从备选业务规则集合中选取相应的业务规则即可发送针对该业务规则的选取指令。
步骤206,根据所述目标业务规则所属的目标业务类型,以及预先定义的业务类型与所述基础联盟链代码中的预留接口之间的对应关系,确定与所述目标业务类型对应的目标预留接口。
本说明书中的基础联盟链代码可以理解为用于构建上述通用联盟链系统的代码。基础联盟链代码中包含有若干预留接口,这些预留接口与基础联盟链代码中定义的基础功能相关,例如,“创建账户”、“创建节点”、“部署合约”等均为联盟链定义的基础功能。在此基础上,业务规则定义了具体如何实现这些基础功能,如上述通过投票方式创建账户、由管理员创建账户等。可见,在上述业务规则集合中包含若干不同业务规则的基础上,还可以包括预定义的业务类型与预留接口之间的对应关系,举例而言,可以包括如下表1所示的对应关系。
Figure 982767DEST_PATH_IMAGE001
参见上表1,在联盟链成员选取“由管理员创建账户”这一业务规则时,即可确定其属于“账户创建”这一业务类型,进而确定对应的目标预留接口为接口1。
在本说明书中,上述业务规则集合,以及基础联盟链代码可由联盟链技术的研发方提供。具体的,联盟链技术的研发方可以预先编写基础联盟链代码,并在基础联盟链代码中预留若干接口,进一步的,将编写完成的若干业务规则代码保存在业务规则集合中,并建立类似上表1所示的对应关系,以供联盟链成员通过选取业务规则创建满足治理需求的系统合约。具体的,联盟链技术的研发方可以将上述基础联盟链代码,以及业务规则集合的代码保存至上文所述的系统合约创建工具中,使得用户可以通过该创建工具创建系统合约。举例而言,联盟链研发方可以提供一用于创建目标系统合约的应用程序,并将上述基础联盟链代码以及业务规则集合植入在该应用程序中,以作为该系统合约创建工具。
步骤208,基于所述目标预留接口和所述目标业务规则创建目标系统合约。
预留接口与基础联盟链代码中定义的基础功能相关,而业务规则定义了具体实现该基础功能的方式。可见,创建的目标系统合约用于通过目标预留接口对相应的基础功能实现业务扩展。
在创建目标系统合约之后,需要将其部署至联盟链中。本说明书可以采用多种方式将目标系统合约部署至联盟链中。
在一种情况下,可以在部署联盟链的同时部署系统合约。具体的,可以在获取基础联盟链代码之后,将基础联盟链代码和目标系统合约组成扩展联盟链代码,并将该扩展联盟链代码部署至联盟链成员的设备中,进而形成对应于该联盟链成员的区块链节点,进一步的,该扩展联盟链代码还被部署至其他联盟链成员的设备中,以形成对应于其他联盟链成员的区块链节点,所有区块链节点构成联盟链网络。该方法在部署联盟链的过程中,完成了目标系统合约的部署,使得无需单独执行部署目标系统合约的操作,提高了部署系统合约的效率。
在另一种情况下,可以单独执行部署联盟链和部署系统合约的操作。具体的,可以在获取基础联盟链代码之后,将基础联盟链代码部署至联盟链成员的设备中,以形成对应于该联盟链成员的区块链节点,除此之外该基础联盟链代码还被部署至其他联盟链成员的设备中,以形成对应于其他联盟链成员的区块链节点,所有区块链节点构成联盟链网络;在完成联盟链的部署之后,该联盟链成员可以向联盟链网络中的区块链节点提交针对目标系统合约的部署交易,以将该目标系统合约部署至联盟链网络中的各个区块链节点。具体的,区块链节点在接收到该部署交易后,可以对该部署交易进行共识,并在共识通过的情况下,各个区块链节点可以通过执行该部署交易,将目标系统合约部署至本地区块链节点。该方法单独执行部署联盟链和部署系统合约的操作,使得系统合约的代码无需植入联盟链的基础代码中,使得系统合约的部署更加灵活,方便后续对系统合约进行修改或扩展。其中,还可以对系统合约的部署进行一定的限制,以防止由于部署过程的灵活性而产生漏洞。例如,区块链节点在收到上述的部署交易后,可以对该部署交易进行验证,并在上述部署的基础联盟链中全部或超过预设比例的成员对该部署交易进行签名的情况下,才通过执行该部署交易完成对上述目标系统合约的部署操作,否则不执行该部署交易以阻止部署上述的目标系统合约。
在本说明书中,通过上述方法创建的系统合约中,可以涉及一个或多个业务规则,这些业务规则可以属于同一业务类型或多个业务类型。举例而言,联盟链成员可以在如表1所示的每一个业务类型中选择任一业务规则用于创建系统合约;也可以在如表1所示的任一业务类型中选择多个业务规则,例如,系统合约既包含“由管理员创建账户”的业务规则,又包含“投票创建账户”的业务规则,换言之,既允许管理员创建账户,又允许由联盟链成员投票决定是否创建新的账户。值得注意的是,只有在同一类型的业务规则不存在互斥性的情况下,才允许一系统合约中包含多个同一类型的业务规则,举例而言,当某一业务规则为“仅允许管理员创建账户”时,显然无法与“通过投票方式创建账户”兼容,即存在互斥性,在该情况下,一系统合约中仅允许包含一个统一类型的业务规则。
由上述技术方案可知,本说明书预先创建有业务规则集合,该业务规则集合中包含若干属于不同业务类型的业务规则,其中,不同的业务规则用于创建满足不同治理需求的系统合约,在该机制下,联盟链成员只需从业务规则集合中选取相应的业务规则即可创建满足联盟链治理需求的系统合约。通过这种方式创建系统合约,一方面无需联盟链成员掌握业务规则的编写技能;另一方面,无需联盟链技术的研发方针对不同联盟链的治理需求专门编写联盟链代码,提高了系统合约的创建效率。
图3是本说明书一示例性实施例示出的一种在部署联盟链过程中创建系统合约的方法的流程图,该方法应用于联盟链成员使用的设备,该方法可以包括以下步骤:
步骤301,接收到联盟链成员发送的联盟链部署请求。
在本实施例中,以部署若干企业共同管理的联盟链为例,在该情况下,这些企业中需要参与管理联盟链的成员均可作为本实施例中的联盟链成员。
以成员A请求部署联盟链为例进行介绍,在成员A所使用的设备中可以预先配置有联盟链技术研发方提供的联盟链部署工具,如可以为一用于部署联盟链的应用程序。此时,成员A可以通过触发该应用程序中的的联盟链部署选项,发起联盟链的部署请求。
步骤302,向联盟链成员展示创建系统合约的提示。
承接上述举例,在成员的设备检测到联盟链的部署请求后,可以向用户展示创建系统合约的提示信息,以提示用户A创建系统合约。
步骤303,接收到联盟链成员发送的系统合约创建请求。
步骤304,向联盟链成员展示业务规则集合中包含的若干备选业务规则。
承接上述举例,在接收到成员A发送的系统合约创建请求后,成员A的设备可以获取预先创建的业务规则集合中包含的若干备选业务规则。以“合约部署”和“账户创建”这两个业务类型为例,可以展示如下表2所示的业务规则。
Figure 129714DEST_PATH_IMAGE002
步骤305,接收联盟链成员的选取指令。
联盟链成员可以根据联盟链的治理需求,从若干备选业务规则中选取目标业务规则。
承接上述举例,当成员A看到如表2所示的业务规则后,即可根据待部署联盟链的治理需求选取相应的业务规则。假设联盟链中的成员经过讨论后认为:允许所有成员进行合约的部署,可以集思广益拓宽联盟链能够实现的功能,进而决定所有联盟链成员均可部署合约;而对于账户的创建,则认为需要由专门人员进行管理,进而决定仅由管理员拥有创建账户的权限。此时,成员A可根据上述治理需求选取“所有成员均可进行合约部署”以及“管理员可以创建账户”这两条业务规则。
步骤306,根据联盟链成员的选取指令从若干备选业务规则中选取目标业务规则。
步骤307,确定目标业务规则所属的目标业务类型。
承接上述举例,可以确定成员A选取的两个目标业务规则与业务类型之间的关系为:“所有成员均可进行合约部署”属于“合约部署”这一业务类型;“管理员可以创建账户”属于“账户创建”这一业务类型。
步骤308,确定基础联盟链代码中与目标业务类型对应的目标预留接口。
在本实施例中,成员A的设备中还可以保存有如表3所示的业务规则与业务类型之间的对应关系。
Figure 688872DEST_PATH_IMAGE003
此时,可以确定预留的接口1与合约部署对应,接口2与账户的账户创建对应。
步骤309,基于目标预留接口和目标业务规则创建目标系统合约。
承接上述举例,在本步骤中,可以基于接口1与“所有成员均可进行合约部署”的对应关系,以及接口2与“管理员可以创建账户”的对应关系创建目标系统合约。
步骤310,基于目标系统合约和基础联盟链代码生成扩展联盟链代码。
在创建目标系统合约之后,可以基于目标系统合约与基础联盟链代码组成扩展联盟链代码。显然,扩展联盟链代码中已包含根据联盟链治理需求创建的目标系统合约,因此,基于该扩展联盟链代码部署的联盟链能够满足联盟链成员提出的治理需求。
步骤311A,在本地设备部署扩展联盟链代码,以形成对应于该联盟链成员的区块链节点。
步骤311B,将扩展联盟链代码发送至其他联盟链成员使用的设备,以使该扩展联盟链代码被部署至其他联盟链成员的设备中,进而形成其他联盟链成员对应的区块链节点。
在本实施例中,在获得扩展联盟链代码后,一方面可以在本地设备进行部署,另一方面,可以将该扩展联盟链代码发送给其他联盟链代码,以使扩展联盟链代码被部署至其他联盟链成员的设备中,进而形成对应于其他联盟链成员的区块链节点,所有的区块链节点构成区块链网络。
由上述技术方案可知,本说明书的技术方案提供属于不同业务类型的业务规则,用户只需根据待部署联盟链的治理需求从中选取相应的业务规则,即可创建能够满足该治理需求的系统合约,在提高系统合约创建效率的同时,无需联盟链成员掌握业务规则的编写技能。
进一步的,本说明书的技术方案可以在部署联盟链的过程中创建系统合约,而无需另行部署创建的系统合约,提高了部署系统合约的效率。
图4是本说明书一示例性实施例示出的一种在联盟链中部署系统合约的方法,该方法应用于联盟链中任一区块链节点,该方法可以包括以下步骤:
步骤401,接收联盟链成员提交的部署交易。
与上一实施例不同的是,本实施例不在部署联盟链的过程中创建目标系统合约,而是通过向已部署联盟链中的区块链节点提交部署交易的方式,部署创建的目标系统合约。已创建的联盟链可以为基于上述基础联盟链代码部署的基础联盟链,具体部署过程可参照上文介绍,在此不作赘述。而部署交易中包含的目标系统合约,可以由联盟链成员基于自身的联盟链治理需求,通过如步骤303-步骤309的方法创建,在此也不作赘述。
值得注意的是,在本实施例中,联盟链中的所有成员可以对该部署交易进行签名,以表示同意将该部署交易中的目标系统合约部署至联盟链中。该签名的过程在向区块链节点提交部署交易之前完成,例如,某一联盟链成员完成目标系统合约的创建之后,一方面,可以自己对包含该目标系统合约的部署交易进行签名,另一方面,可以通过即时通讯应用将包含目标系统合约的部署交易发送给其他联盟链成员,其他联盟链成员在查看之后,也可以对该部署交易进行签名。
步骤402,与联盟链网络中其他区块链节点对所述部署交易进行共识,并判断共识是否通过;若共识通过,则执行步骤403;否则,执行步骤405。
由于本实施例在已部署的基础联盟链中部署目标系统合约,因此需要通过联盟链的共识机制才可以执行部署合约,进而对目标系统合约进行部署。本实施例可以采用常规的POW(Proof of Work,工作量证明)共识机制或者PBFT(Practical Byzantine FaultTolerance,拜占庭容错)共识机制,也可以采用其他共识机制,在此不作限定。
步骤403,对部署交易进行验签;若验签通过,执行步骤404;否则,执行步骤405。
在本实施例中,在接收到部署交易之后,可以通过预先设置的验签标准对该部署交易进行验签。例如,该验签标准可以为:超过一半的联盟链成员对该部署交易进行签名,则验签通过。那么,本步骤可以通过判断接收到的部署交易中携带的签名数量是否超过联盟链成员数量的一半,进而确定验签是否通过;若超过,则验签通过,执行步骤404;否则,执行步骤405。
步骤404,执行该部署交易,以将目标系统合约部署至本地区块链节点。
在本实施例中,在通过验签的情况下,即可认定联盟链中的成员同意将该部署交易中的目标系统合约部署至联盟链中,因此,区块链节点可以通过执行该部署合约,将目标系统合约部署至本地区块链节点中。
需要声明的是,在通过共识的情况下,其他区块链节点也会执行步骤403和404的步骤,以通过执行该部署交易,将目标系统合约部署至其他区块链节点中。
步骤405,不执行部署交易。
本实施例以向区块链节点提交部署交易的方式部署系统合约,使得联盟链的部署和系统合约的部署单独执行。相较于上一实施例,本实施例中的目标系统合约代码无需植入联盟链的基础代码中,使得部署系统合约的过程更加灵活,方便后续对系统合约进行修改或扩展。
图5为本说明书的一示例性实施例示出一种电子设备的示意结构图。请参考图5,在硬件层面,该电子设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行,在逻辑层面上形成系统合约的创建装置。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图6,在软件实施方式中,该系统合约的创建装置可以包括:
第一获取单元601,获取基础联盟链代码对应的业务规则集合,所述业务规则集合中包含至少一种业务类型的业务规则;
选取单元602,响应于联盟链成员针对业务规则的选取指令,从所述业务规则集合中选取目标业务规则;
确定单元603,根据所述目标业务规则所属的目标业务类型,以及预先定义的业务类型与所述基础联盟链代码中的预留接口之间的对应关系,确定与所述目标业务类型对应的目标预留接口;
创建单元604,基于所述目标预留接口和所述目标业务规则创建目标系统合约。
可选的,所述预留接口与所述基础联盟链代码中定义的基础功能相关,所述目标系统合约用于通过所述目标预留接口对相应的基础功能实现业务扩展。
可选的,还包括:
展示单元605,响应于所述联盟链成员发起的系统合约创建请求,向所述联盟链成员展示所述业务规则集合中包含的若干备选业务规则;
接收单元606,在所述业务规则集合中的至少一个备选业务规则被触发的情况下,接收到针对业务规则的选取指令。
可选的,还包括:
第二获取单元607,获取所述基础联盟链代码,所述基础联盟链代码和所述目标系统合约组成扩展联盟链代码;
第一部署单元608,部署所述扩展联盟链代码,以形成对应于所述联盟链成员的区块链节点;其中,所述扩展联盟链代码还被部署至其他联盟链成员的设备中,以形成对应于其他联盟链成员的区块链节点,所有区块链节点构成联盟链网络。
可选的,还包括:
第二部署单元609,部署所述基础联盟链代码,以形成对应于所述联盟链成员的区块链节点;其中,所述基础联盟链代码还被部署至其他联盟链成员的设备中,以形成对应于其他联盟链成员的区块链节点,所有区块链节点构成联盟链网络;
提交单元610,向所述联盟链网络中的区块链节点提交针对所述目标系统合约的部署交易,以将所述目标系统合约部署至所述联盟链网络的各个区块链节点中。
可选的,还包括:
签名单元611,对所述部署交易进行签名,所述部署交易还被所述基础联盟链中的其他成员签名;
其中,所述联盟链网络的各个区块链节点对所述部署交易的验证条件包括:所述部署交易由所述基础联盟链中全部或超过预设比例的成员进行签名。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由系统合约的创建装置的处理器执行以实现如上述实施例中任一所述的方法,比如该方法可以包括:获取基础联盟链代码对应的业务规则集合,所述业务规则集合中包含至少一种业务类型的业务规则;响应于联盟链成员针对业务规则的选取指令,从所述业务规则集合中选取目标业务规则;根据所述目标业务规则所属的目标业务类型,以及预先定义的业务类型与所述基础联盟链代码中的预留接口之间的对应关系,确定与所述目标业务类型对应的目标预留接口;基于所述目标预留接口和所述目标业务规则创建目标系统合约。
其中,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等,本说明书并不对此进行限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (14)

1.一种系统合约的创建方法,包括:
获取基础联盟链代码对应的业务规则集合,所述业务规则集合中包含至少一种业务类型的业务规则;
响应于联盟链成员针对业务规则的选取指令,从所述业务规则集合中选取目标业务规则;
根据所述目标业务规则所属的目标业务类型,以及预先定义的业务类型与所述基础联盟链代码中的预留接口之间的对应关系,确定与所述目标业务类型对应的目标预留接口;
基于所述目标预留接口和所述目标业务规则创建目标系统合约。
2.根据权利要求1所述的方法,所述预留接口与所述基础联盟链代码中定义的基础功能相关,所述目标系统合约用于通过所述目标预留接口对相应的基础功能实现业务扩展。
3.根据权利要求1所述的方法,还包括:
响应于所述联盟链成员发起的系统合约创建请求,向所述联盟链成员展示所述业务规则集合中包含的若干备选业务规则;
在所述业务规则集合中的至少一个备选业务规则被触发的情况下,接收到针对业务规则的选取指令。
4.根据权利要求1所述的方法,还包括:
获取所述基础联盟链代码,所述基础联盟链代码和所述目标系统合约组成扩展联盟链代码;
部署所述扩展联盟链代码,以形成对应于所述联盟链成员的区块链节点;其中,所述扩展联盟链代码还被部署至其他联盟链成员的设备中,以形成对应于其他联盟链成员的区块链节点,所有区块链节点构成联盟链网络。
5.根据权利要求1所述的方法,还包括:
部署所述基础联盟链代码,以形成对应于所述联盟链成员的区块链节点;其中,所述基础联盟链代码还被部署至其他联盟链成员的设备中,以形成对应于其他联盟链成员的区块链节点,所有区块链节点构成联盟链网络;
向所述联盟链网络中的区块链节点提交针对所述目标系统合约的部署交易,以将所述目标系统合约部署至所述联盟链网络的各个区块链节点中。
6.根据权利要求5所述的方法,还包括:
对所述部署交易进行签名,所述部署交易还被所述基础联盟链中的其他成员签名;
其中,所述联盟链网络的各个区块链节点对所述部署交易的验证条件包括:所述部署交易由所述基础联盟链中全部或超过预设比例的成员进行签名。
7.一种系统合约的创建装置,包括:
第一获取单元,获取基础联盟链代码对应的业务规则集合,所述业务规则集合中包含至少一种业务类型的业务规则;
选取单元,响应于联盟链成员针对业务规则的选取指令,从所述业务规则集合中选取目标业务规则;
确定单元,根据所述目标业务规则所属的目标业务类型,以及预先定义的业务类型与所述基础联盟链代码中的预留接口之间的对应关系,确定与所述目标业务类型对应的目标预留接口;
创建单元,基于所述目标预留接口和所述目标业务规则创建目标系统合约。
8.根据权利要求7所述的装置,所述预留接口与所述基础联盟链代码中定义的基础功能相关,所述目标系统合约用于通过所述目标预留接口对相应的基础功能实现业务扩展。
9.根据权利要求7所述的装置,还包括:
展示单元,响应于所述联盟链成员发起的系统合约创建请求,向所述联盟链成员展示所述业务规则集合中包含的若干备选业务规则;
接收单元,在所述业务规则集合中的至少一个备选业务规则被触发的情况下,接收到针对业务规则的选取指令。
10.根据权利要求7所述的装置,还包括:
第二获取单元,获取所述基础联盟链代码,所述基础联盟链代码和所述目标系统合约组成扩展联盟链代码;
第一部署单元,部署所述扩展联盟链代码,以形成对应于所述联盟链成员的区块链节点;其中,所述扩展联盟链代码还被部署至其他联盟链成员的设备中,以形成对应于其他联盟链成员的区块链节点,所有区块链节点构成联盟链网络。
11.根据权利要求7所述的装置,还包括:
第二部署单元,部署所述基础联盟链代码,以形成对应于所述联盟链成员的区块链节点;其中,所述基础联盟链代码还被部署至其他联盟链成员的设备中,以形成对应于其他联盟链成员的区块链节点,所有区块链节点构成联盟链网络;
提交单元,向所述联盟链网络中的区块链节点提交针对所述目标系统合约的部署交易,以将所述目标系统合约部署至所述联盟链网络的各个区块链节点中。
12.根据权利要求11所述的装置,还包括:
签名单元,对所述部署交易进行签名,所述部署交易还被所述基础联盟链中的其他成员签名;
其中,所述联盟链网络的各个区块链节点对所述部署交易的验证条件包括:所述部署交易由所述基础联盟链中全部或超过预设比例的成员进行签名。
13.一种电子设备,包括:
处理器;
用于存储处理器可执行任务的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-6中任一项所述方法的步骤。
CN202010411854.4A 2020-05-15 2020-05-15 系统合约的创建方法及装置 Active CN111338645B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010411854.4A CN111338645B (zh) 2020-05-15 2020-05-15 系统合约的创建方法及装置
PCT/CN2021/093380 WO2021228151A1 (zh) 2020-05-15 2021-05-12 系统合约的创建

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010411854.4A CN111338645B (zh) 2020-05-15 2020-05-15 系统合约的创建方法及装置

Publications (2)

Publication Number Publication Date
CN111338645A true CN111338645A (zh) 2020-06-26
CN111338645B CN111338645B (zh) 2020-09-11

Family

ID=71184893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010411854.4A Active CN111338645B (zh) 2020-05-15 2020-05-15 系统合约的创建方法及装置

Country Status (2)

Country Link
CN (1) CN111338645B (zh)
WO (1) WO2021228151A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112053274A (zh) * 2020-10-12 2020-12-08 腾讯科技(深圳)有限公司 政务区块链网络的构建向导方法及装置
WO2021228151A1 (zh) * 2020-05-15 2021-11-18 支付宝(杭州)信息技术有限公司 系统合约的创建

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553882B (zh) * 2022-01-18 2024-03-19 广西壮族自治区信息中心 一种基于区块链的政务数据治理平台

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325366A (zh) * 2018-08-22 2019-02-12 深圳前海微众银行股份有限公司 基于联盟链的业务处理方法、设备及计算机可读存储介质
CN109801152A (zh) * 2019-01-24 2019-05-24 中国农业银行股份有限公司 基于区块链的企业年金业务处理方法及系统
CN109829296A (zh) * 2019-01-29 2019-05-31 中化能源科技有限公司 基于联盟链的智能合约的沙箱实现方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370233B2 (en) * 2008-03-31 2013-02-05 Sap Ag Managing consistent interfaces for business objects across heterogeneous systems
CN111124476B (zh) * 2018-10-31 2023-09-08 阿里巴巴集团控股有限公司 业务规则配置和创建方法及装置
CN110209575A (zh) * 2019-05-20 2019-09-06 深圳壹账通智能科技有限公司 测试文档生成方法、装置、电子设备及存储介质
CN113032490B (zh) * 2019-12-05 2022-07-12 腾讯科技(深圳)有限公司 一种合约数据处理方法、相关设备及介质
CN111338645B (zh) * 2020-05-15 2020-09-11 支付宝(杭州)信息技术有限公司 系统合约的创建方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325366A (zh) * 2018-08-22 2019-02-12 深圳前海微众银行股份有限公司 基于联盟链的业务处理方法、设备及计算机可读存储介质
CN109801152A (zh) * 2019-01-24 2019-05-24 中国农业银行股份有限公司 基于区块链的企业年金业务处理方法及系统
CN109829296A (zh) * 2019-01-29 2019-05-31 中化能源科技有限公司 基于联盟链的智能合约的沙箱实现方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021228151A1 (zh) * 2020-05-15 2021-11-18 支付宝(杭州)信息技术有限公司 系统合约的创建
CN112053274A (zh) * 2020-10-12 2020-12-08 腾讯科技(深圳)有限公司 政务区块链网络的构建向导方法及装置
CN112053274B (zh) * 2020-10-12 2023-10-27 腾讯科技(深圳)有限公司 政务区块链网络的构建向导方法及装置

Also Published As

Publication number Publication date
WO2021228151A1 (zh) 2021-11-18
CN111338645B (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
CN111338645B (zh) 系统合约的创建方法及装置
CN109359957B (zh) 一种安全多方计算的方法及相关装置
CN111343142B (zh) 一种基于区块链网络的数据处理方法、装置及存储介质
EP3816910B1 (en) Blockchain-based transaction processing method and apparatus, and electronic device
CN109146679A (zh) 基于区块链的智能合约调用方法及装置、电子设备
CN110400217B (zh) 智能合约的规则变更处理方法及装置
CN111240732B (zh) 分布式微服务的发布方法、装置、设备及存储介质
CN108848125B (zh) 区块链中提供共识服务的方法和装置及存储介质
CN111985007A (zh) 一种基于区块链的合同签署与执行方法及装置
CN111679893A (zh) 运行系统构建方法、装置、电子设备及存储介质
CN111767144A (zh) 交易数据的交易路由确定方法、装置、设备及系统
CN112035350B (zh) 针对区块链系统的测试方法、装置及计算机设备
CN112100588A (zh) 基于区块链的数字印章申领方法、装置及电子设备
CN111723159A (zh) 一种基于区块链的数据验证方法和装置
CN112597511A (zh) 一种政务服务远程协同方法及装置
CN111597269A (zh) 一种基于区块链的合约实现方法、装置及设备
CN111813418A (zh) 分布式链路跟踪方法、装置、计算机设备及存储介质
CN111260475A (zh) 一种数据处理方法、区块链节点设备及存储介质
CN110119430B (zh) 一种智能合约管理方法、服务器及计算机可读存储介质
CN110458541B (zh) 基于区块链的对象置换方法及装置
US20230259930A1 (en) Cross-chain transaction processing method and apparatus, electronic device, and storage medium
CN114493598A (zh) 计算资源管理方法、装置、计算机设备和存储介质
CN115617781A (zh) 数字对象创建、数据管理方法及装置
KR102304954B1 (ko) 피어 노드, 피어 노드에서 수행되는 처리 방법 및 블록체인 플랫폼 시스템
CN114978686A (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
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40030182

Country of ref document: HK