本公开的实施方式包括:实例化对生产区块链具有只读访问权限的测试区块链容器;从所述生产区块链复制一组区块到测试环境以提供测试区块链,所述测试区块链容器对所述测试区块链具有读写访问权限;以及,执行区块链应用的测试,该测试导致一组测试区块被依次附加到所述测试区块链,每个测试区块至少部分包括测试数据。其中,生产区块在执行所述测试期间被附加到所述生产区块链。
Block Chain Network Test Platform
【技术实现步骤摘要】
【国外来华专利技术】区块链网络测试平台
技术介绍
分布式账本系统(DLS),也可称为共识网络和/或区块链网络,使得参与的实体能够安全且不可篡改地存储数据。DLS在不指代任何特殊用例(例如加密货币)的情况下通常是指区块链网络。区块链网络的示例类型可以包括:公有区块链网络、私有区块链网络和联盟区块链网络。公有区块链网络向所有实体开放使用DLS,并开放参与共识过程。私有区块链网络针对特定实体提供,该实体集中控制读写权限。联盟区块链网络针对选定的实体组群提供,该实体组群控制共识过程,并包含访问控制层。可创建在区块链网络中执行的应用(其包括智能合约)。集成开发环境(IDE)能够开发应用。IDE的示例包括由瑞士楚格州的以太坊基金会提供的、用于以Solidity语言创建智能合约的RemixIDE。例如,在一些情况中,IDE能够测试智能合约以排除漏洞。但是,在测试期间,操作是在生产区块链(productionblockchain)上执行的。这导致不稳定的测试环境及被污染的生产环境。
技术实现思路
本公开的实施方式包括用于测试区块链应用的计算机实施方法。更具体地,本公开的实施方式关于用于区块链网络的测试平台,该测试平台能够在不影响生产区块链的情况下测试应用。在一些实施方式中,动作包括:实例化对生产区块链具有只读访问权限的测试区块链容器;从所述生产区块链复制一组区块到测试环境以提供测试区块链,所述测试区块链容器对所述测试区块链具有读写访问权限;并且,执行区块链应用的测试,所述测试导致一组测试区块被依次附加到所述测试区块链,每个测试区块至少部分包括测试数据,其中,生产区块在所述测试执行期间被附加到所述生产区块链。其他实施方式包括相应的系统、装置和计算机程序,该计算机程序被编码在计算机存储设备上,并被配置为执行所述方法的操作。这些和其他实施方式可分别可选地包括以下特征中的一个或多个:生产区块链容器被提供,并对生产区块链具有读写访问权限且对测试区块链不具有访问权限;在参与区块链网络的服务器系统中,与所述测试区块链容器并行地提供所述生产区块链容器;在测试期间,多个节点执行共识协议以将测试区块附加到所述测试区块链,所述多个节点中的每个节点维持所述测试区块链的副本;动作进一步包括:删除在所述测试期间附加到所述测试区块链的测试区块,并且执行第二测试,导致第二组测试区块被依次附加到所述测试区块链;且动作进一步包括:响应于所述测试的结束,终止针对参与所述测试的多个节点中的每个节点的测试区块链容器。本公开还提供了一个或多个非暂时性计算机可读存储介质,其耦接至一个或多个处理器且其上存储有指令,当所述指令由所述一个或多个处理器执行时,所述指令促使所述一个或多个处理器根据本文所提供的方法的实施方式执行操作。本公开还提供了用于执行本文所提供的方法的系统。所述系统包括一个或多个处理器及计算机可读存储介质,所述计算机可读存储介质耦接至所述一个或多个处理器且其上存储有指令,当所述指令由所述一个或多个处理器执行时,所述指令促使所述一个或多个处理器根据本文所提供的方法的实施方式执行操作。可以理解,根据本公开的方法可包括本文所述的方面和特征的任意组合。即,根据本公开的方法并不限于本文具体所述的方面和特征的组合,还包括所提供的方面和特征的任意组合。本公开的一个或多个实施方式的细节将在下面的附图和描述中详述。根据说明书和附图以及权利要求,本公开的其他特征和优势将显而易见。附图说明图1示出能够被用于执行本公开的实施方式的示例性环境。图2示出了根据本公开的实施方式的示例性测试平台。图3示意性地示出了根据本公开的实施方式的示例性生产区块链及示例性测试区块链。图4示出了能够根据本公开的实施方式执行的示例性方法。各附图中相同的附图标记表示相同的元件。具体实施方式本公开的实施方式包括用于测试区块链应用的计算机实施方法。更具体地,本公开的实施方式关于用于区块链网络的测试平台,能够在不影响生产区块链的情况下测试应用。在一些实施方式中,动作包括:实例化对生产区块链具有只读访问权限的测试区块链容器;从生产区块链复制一组区块到测试环境以提供测试区块链,测试区块链容器对测试区块链具有读写访问权限;并且,执行区块链应用的测试,该测试导致一组测试区块被依次附加到测试区块链,每个测试区块至少部分包括测试数据,其中,生产区块在所述测试执行期间被附加到生产区块链。为本公开的实施方式提供进一步的背景,且如上所述,分布式账本系统(DLS),亦可称为共识网络(例如,由点对点(peer-to-peer)节点组成)和区块链网络,使得参与的实体能够安全且不可篡改地进行交易并存储数据。尽管术语区块链通常与比特币加密货币网络关联,但是在不指代任何特殊用例的情况下,本文中所使用的区块链主要指DLS。如上所述,区块链网络可被提供为公有区块链网络、私有区块链网络或联盟区块链网络。在公有区块链网络中,共识过程由共识网络的节点控制。例如,成百上千甚至上百万的实体能够协同运作公有区块链网络,每个实体操作该公有区块链网络中的至少一个节点。因此,公有区块链网络可被认为是关于参与的实体的公有网络。在一些示例中,多数实体(节点)必须签署每个区块,以使该区块有效并被添加到区块链网络的区块链(分布式账本)中。示例性公有区块链网络包括比特币网络,其为点对点支付网络。比特币网络利用称为区块链的分布式账本。如上所述,然而,术语区块链通常用于指代分布式账本,而不特指比特币网络。通常,公有区块链网络支持公开交易。公开交易为公有区块链网络中的所有节点共享,并且被存储于全局区块链中。全局区块链是跨所有节点复制的区块链。也即,所有节点相对于全局区块链都处于完全共识状态。为达成共识(例如,同意将区块添加至区块链),在该公有区块链网络中实施共识协议。共识协议的示例包括,但不限于,在比特币网络中实施的工作量证明(POW)。通常,私有区块链网络被提供给特定实体,该特定实体集中控制读写权限。该实体控制哪些节点能参与到该区块链网络中。因此,私有区块链网络通常被称为权限网络,其对谁可以参与该网络以及它们的参与级别(例如,只在某些交易中)加以限制。可以使用各种类型的访问控制机制(例如,现有参与者对添加新实体进行投票,管理机构可以控制准入)。通常,联盟区块链网络在参与的实体之间是私有的。在联盟区块链网络中,共识过程由授权的节点集控制,一个或多个节点由相应的实体(例如,金融机构、保险公司)操作。例如具有十(10)个实体(例如,金融机构、保险公司)的联盟可以操作联盟区块链网络,其中每个实体操作该联盟区块链网络中的至少一个节点。因此,联盟区块链网络可被认为是关于参与的实体的私有网络。在一些示例中,每个实体(节点)必须签署每个区块,以使该区块有效并被添加到该区块链中。在一些示例中,至少实体(节点)的子集(例如,至少7个实体)必须签署每个区块,以使该区块有效并被添加到该区块链中。在本文中,参考联盟区块链网络来进一步详细描述本公开的实施方式,该联盟区块链网络在参与的实体之间是公开的。但是,可以考虑到本公开的实施方式能够在任何合适类型的区块链网络中实现。鉴于以上背景,本文进一步详细描述了本公开的实施方式。更具体地,且如上所述,本公开的实施方式关于用于区块链网络的测试平台,该测试平台能够在不影响生产区本文档来自技高网...
【技术保护点】
1.一种用于测试区块链应用的计算机实施方法,所述方法被一个或多个处理器执行,包括:实例化对生产区块链具有只读访问权限的测试区块链容器;从所述生产区块链复制一组区块到测试环境以提供测试区块链,所述测试区块链容器对所述测试区块链具有读写访问权限;以及执行区块链应用的测试,所述测试导致一组测试区块被依次附加到所述测试区块链,每个测试区块至少部分包括测试数据,其中,生产区块在所述测试执行期间被附加到所述生产区块链。
【技术特征摘要】
【国外来华专利技术】1.一种用于测试区块链应用的计算机实施方法,所述方法被一个或多个处理器执行,包括:实例化对生产区块链具有只读访问权限的测试区块链容器;从所述生产区块链复制一组区块到测试环境以提供测试区块链,所述测试区块链容器对所述测试区块链具有读写访问权限;以及执行区块链应用的测试,所述测试导致一组测试区块被依次附加到所述测试区块链,每个测试区块至少部分包括测试数据,其中,生产区块在所述测试执行期间被附加到所述生产区块链。2.根据权利要求1所述的方法,其中,提供生产区块链容器,所述生产区块链容器对所述生产区块链具有读写访问权限,且对所述测试区块链不具有访问权限。3.根据权利要求2所述的方法,其中,在参与区块链网络的服务器系统内,与所述测试区块链容器并行地提供所述生产区块链容器。4.根据权利要求1所述的方法,其中,在所述测试期间,多个节点执行共识协议,以将测试区块附加到所述测试区块链,所述多个节点中的每个节点维持所述测试区块链的副本。5.根据权利要求1所述的方法,还包括:删除在所述测试期间附加至所述测试区块链的测试区块;以及执行第二测试,导致第二组测试区块被依次附加到所述测试区块链。6.根据权利要求1所述的方法,还包括,响应于所述测试的结束,终止针对参与所述测试的多个节点中的每个节点的测试区块链容器。7.一种非暂时性计算机可读存储介质,其耦接到一个或多个处理器且其上存储有指令,当所述指令被所述一个或多个处理器执行时,所述指令促使所述一个或多个处理器执行用于测试区块链应用的操作,所述操作包括:实例化对生产区块链具有只读访问权限的测试区块链容器;从所述生产区块链复制一组区块到测试环境以提供测试区块链,所述测试区块链容器对所述测试区块链具有读写访问权限;以及执行区块链应用的测试,所述测试导致一组测试区块被依次附加到所述测试区块链,每个测试区块至少部分包括测试数据,其中,生产区块在所述测试执行期间被附加到所述生产区块链。8.根据权利要求7所述的计算机可读存储介质,其中,提供生产区块链容器,所述生产区块链容器对所述生产区块链具有读写访问权限,且对所述测试区块链不具有访问权限。9.根据权利要求8所述的计算机可读存储介质,其中,...
【专利技术属性】
技术研发人员:金戈,邵开来,祁鹏涛,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。