本说明书一个或多个实施例提供一种区块链子网的启动方法及装置。所述方法应用于节点设备,所述节点设备中部署有归属于区块链主网的主网节点和归属于第一区块链子网的子网节点,该第一区块链子网由所述区块链主网所管理,所述方法包括:从所述节点设备维护的第一数据库中读取节点启动信息,所述节点启动信息包括第一区块链子网对应的第一子网标识、第一区块链子网的创世块信息和节点成员,该第一数据库对应于第一区块链子网的子网节点;通过加载读取的所述创世块信息启动第一区块链子网的子网节点,并向读取的所述节点成员分别发送包含第一子网标识的握手报文以建立网络连接。包含第一子网标识的握手报文以建立网络连接。包含第一子网标识的握手报文以建立网络连接。
【技术实现步骤摘要】
区块链子网的启动方法及装置
[0001]本说明书一个或多个实施例涉及区块链
,尤其涉及一种区块链子网的启动方法及装置。
技术介绍
[0002]区块链技术构建在点对点网络之上。区块链网络中的节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。在一些区块链网络中,部分节点有时存在实现小范围交易的需求,以避免其他节点获得这些交易及其相关数据,为此,可以在已有区块链网络(即区块链主网)的基础上创建新的区块链网络(即区块链子网)。
技术实现思路
[0003]有鉴于此,本说明书一个或多个实施例提供一种区块链子网的启动方法及装置。
[0004]为实现上述目地,本说明书一个或多个实施例提供技术方案如下:
[0005]根据本说明书一个或多个实施例的第一方面,提出了一种区块链子网的启动方法,应用于节点设备,所述节点设备中部署有归属于区块链主网的主网节点和归属于第一区块链子网的子网节点,该第一区块链子网由所述区块链主网所管理,所述方法包括:
[0006]从所述节点设备维护的第一数据库中读取节点启动信息,所述节点启动信息包括第一区块链子网对应的第一子网标识、第一区块链子网的创世块信息和节点成员,该第一数据库对应于第一区块链子网的子网节点;
[0007]通过加载读取的所述创世块信息启动第一区块链子网的子网节点,并向读取的所述节点成员分别发送包含第一子网标识的握手报文以建立网络连接。
[0008]根据本说明书一个或多个实施例的第二方面,提出了一种区块链子网的启动装置,应用于节点设备,所述节点设备中部署有归属于区块链主网的主网节点和归属于第一区块链子网的子网节点,该第一区块链子网由所述区块链主网所管理,所述装置包括:
[0009]信息读取单元,用于从所述节点设备维护的第一数据库中读取节点启动信息,所述节点启动信息包括第一区块链子网对应的第一子网标识、第一区块链子网的创世块信息和节点成员,该第一数据库对应于第一区块链子网的子网节点;
[0010]节点启动单元,用于通过加载读取的所述创世块信息启动第一区块链子网的子网节点,并向读取的所述节点成员分别发送包含第一子网标识的握手报文以建立网络连接。
[0011]根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
[0012]处理器;
[0013]用于存储处理器可执行指令的存储器;
[0014]其中,所述处理器通过运行所述可执行指令以实现如第一方面中所述的方法。
[0015]根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面中所述方法的步骤。
[0016]综上所述,本说明书的技术方案中的节点设备维护有对应于第一区块链子网的子
网节点的第一数据库,且该数据库中记录有第一区块链子网对应的第一子网标识。节点设备可以从该数据库中读取包括第一子网标识在内的节点启动信息,进而根据上述节点启动信息启动第一区块链子网的子网节点,并向第一区块链子网的节点成员分别发送包含第一子网标识的握手报文以建立网络连接,实现对第一区块链子网的启动。通过上述方案,在启动第一区块链子网的过程中,节点设备可以从第一区块链子网的第一数据库中读取数据,无需从区块链主网的数据库中获取第一子网标识,简化了节点设备的启动流程,有助于实现第一区块链子网的高效启动。
附图说明
[0017]图1是一示例性实施例提供的一种创建智能合约的示意图。
[0018]图2是一示例性实施例提供的一种调用智能合约的示意图。
[0019]图3是一示例性实施例提供的一种创建和调用智能合约的示意图。
[0020]图4是一示例性实施例提供的一种区块链主网和区块链子网的结构示意图。
[0021]图5是一示例性实施例提供的一种区块链子网的启动方法的流程图。
[0022]图6是一示例性实施例提供的一种设备的结构示意图。
[0023]图7是一示例性实施例提供的一种区块链子网的启动装置的框图。
具体实施方式
[0024]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0025]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0026]区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。而且,各参与者(即节点)可自由加入以及退出网络,并进行相关操作。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
[0027]不论是公有链、私有链还是联盟链,都可能提供智能合约的功能。区块链上的智能
合约是在区块链系统上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
[0028]以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑。以太坊作为一个可编程区块链的核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,这意味着可以通过它实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。实际上,虚拟机直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”)。部署在区块链上的智能合约可以是字节码的形式。
[0029]例如图1所示,Bob将一个包含创建智能合约信息的交易发送到以太坊网络后,节点1的EVM 可以执行这个交易并生成对应的合约实例。图1中的“0x6f8ae93
…”
代表了这个合约的地址,交易的data字段保存的可以是字节码,交易的to字段为空。节点间通过共识机制达成一致后,这个合约成功创建,并且可以在后续过程中被调用。本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种区块链子网的启动方法,应用于节点设备,所述节点设备中部署有归属于区块链主网的主网节点和归属于第一区块链子网的子网节点,该第一区块链子网由所述区块链主网所管理,所述方法包括:从所述节点设备维护的第一数据库中读取节点启动信息,所述节点启动信息包括第一区块链子网对应的第一子网标识、第一区块链子网的创世块信息和节点成员,该第一数据库对应于第一区块链子网的子网节点;通过加载读取的所述创世块信息启动第一区块链子网的子网节点,并向读取的所述节点成员分别发送包含第一子网标识的握手报文以建立网络连接。2.根据权利要求1所述的方法,还包括:响应于在所述区块链主网中发起的用于创建第一区块链子网的交易,在本地创建第一区块链子网的子网节点,并在该子网节点上部署包含第一子网标识的系统合约;其中,所述节点启动信息中的第一子网标识包括:第一数据库记录的所述系统合约中包含的第一子网标识。3.根据权利要求2所述的方法,所述从所述节点设备维护的第一数据库中读取节点启动信息,包括:响应于包含第一数据库的描述信息的子网启动指令,从第一数据库中读取所述节点启动信息;或者,响应于包含第一子网标识的子网启动指令,根据预定义的子网标识与数据库之间的对应关系确定第一子网标识对应的第一数据库,并从第一数据库中读取所述节点启动信息。4.根据权利要求3所述的方法,还包括:执行在所述区块链主网中发起的用于启动所述第一区块链子网的交易,并从该交易的收据中监听到所述子网启动指令。5.根据权利要求1所述的方法,从第一数据库中读取节点启动信息,包括:在所述区块链主网的主网节点未启动的情况下,从第一数据库中读取节点启动信息。6.根据权利要求1所述的方法,所述启动第一区块链子网的子网节点,包括:查询所述区块链主网维护的子网管理列表,以确定第一区块链子网的运行状态;在第一区块链子网的运行状态为开启状态的情况下,启动第一区块链子网的子网节点。7.根据权利要求6所述的方法,所述查询所述区块链主网维护的子网管理列表,包括:读取所述节点设备维护的对应于主网节点的数据库,并从该数据库中查询所述子网管理列表。8.根据权利要求1所述的方法,所述启动第一区块链子网的子网节点,包括:通过第一区块链子网的子网节点对应的插件管理器,启动用于构成第一区块链子网的子网节点的插件模块;其中,所述插件管理器为单独应用于构成第一区块链子网的子网节点的独立插件管理器;或者,所述插件管理器为所述节点设备上部署的所有区块链节点对应的共享插件管理器。9.根据权利要求8所述的方法,所述启动用于构成第一区块链子网...
【专利技术属性】
技术研发人员:陶友贤,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。