CN110291506A - 区块链网络测试平台 - Google Patents

区块链网络测试平台 Download PDF

Info

Publication number
CN110291506A
CN110291506A CN201880005181.3A CN201880005181A CN110291506A CN 110291506 A CN110291506 A CN 110291506A CN 201880005181 A CN201880005181 A CN 201880005181A CN 110291506 A CN110291506 A CN 110291506A
Authority
CN
China
Prior art keywords
block chain
test
test block
production
container
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
CN201880005181.3A
Other languages
English (en)
Other versions
CN110291506B (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of CN110291506A publication Critical patent/CN110291506A/zh
Application granted granted Critical
Publication of CN110291506B publication Critical patent/CN110291506B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

本公开的实施方式包括:实例化对生产区块链具有只读访问权限的测试区块链容器;从所述生产区块链复制一组区块到测试环境以提供测试区块链,所述测试区块链容器对所述测试区块链具有读写访问权限;以及,执行区块链应用的测试,该测试导致一组测试区块被依次附加到所述测试区块链,每个测试区块至少部分包括测试数据。其中,生产区块在执行所述测试期间被附加到所述生产区块链。

Description

区块链网络测试平台
背景技术
分布式账本系统(DLS),也可称为共识网络和/或区块链网络,使得参与的实体能够安全且不可篡改地存储数据。DLS在不指代任何特殊用例(例如加密货币)的情况下通常是指区块链网络。区块链网络的示例类型可以包括:公有区块链网络、私有区块链网络和联盟区块链网络。公有区块链网络向所有实体开放使用DLS,并开放参与共识过程。私有区块链网络针对特定实体提供,该实体集中控制读写权限。联盟区块链网络针对选定的实体组群提供,该实体组群控制共识过程,并包含访问控制层。
可创建在区块链网络中执行的应用(其包括智能合约)。集成开发环境(IDE)能够开发应用。IDE的示例包括由瑞士楚格州的以太坊基金会提供的、用于以Solidity语言创建智能合约的Remix IDE。例如,在一些情况中,IDE能够测试智能合约以排除漏洞。但是,在测试期间,操作是在生产区块链(production blockchain)上执行的。这导致不稳定的测试环境及被污染的生产环境。
发明内容
本公开的实施方式包括用于测试区块链应用的计算机实施方法。更具体地,本公开的实施方式关于用于区块链网络的测试平台,该测试平台能够在不影响生产区块链的情况下测试应用。
在一些实施方式中,动作包括:实例化对生产区块链具有只读访问权限的测试区块链容器;从所述生产区块链复制一组区块到测试环境以提供测试区块链,所述测试区块链容器对所述测试区块链具有读写访问权限;并且,执行区块链应用的测试,所述测试导致一组测试区块被依次附加到所述测试区块链,每个测试区块至少部分包括测试数据,其中,生产区块在所述测试执行期间被附加到所述生产区块链。其他实施方式包括相应的系统、装置和计算机程序,该计算机程序被编码在计算机存储设备上,并被配置为执行所述方法的操作。
这些和其他实施方式可分别可选地包括以下特征中的一个或多个:生产区块链容器被提供,并对生产区块链具有读写访问权限且对测试区块链不具有访问权限;在参与区块链网络的服务器系统中,与所述测试区块链容器并行地提供所述生产区块链容器;在测试期间,多个节点执行共识协议以将测试区块附加到所述测试区块链,所述多个节点中的每个节点维持所述测试区块链的副本;动作进一步包括:删除在所述测试期间附加到所述测试区块链的测试区块,并且执行第二测试,导致第二组测试区块被依次附加到所述测试区块链;且动作进一步包括:响应于所述测试的结束,终止针对参与所述测试的多个节点中的每个节点的测试区块链容器。
本公开还提供了一个或多个非暂时性计算机可读存储介质,其耦接至一个或多个处理器且其上存储有指令,当所述指令由所述一个或多个处理器执行时,所述指令促使所述一个或多个处理器根据本文所提供的方法的实施方式执行操作。
本公开还提供了用于执行本文所提供的方法的系统。所述系统包括一个或多个处理器及计算机可读存储介质,所述计算机可读存储介质耦接至所述一个或多个处理器且其上存储有指令,当所述指令由所述一个或多个处理器执行时,所述指令促使所述一个或多个处理器根据本文所提供的方法的实施方式执行操作。
可以理解,根据本公开的方法可包括本文所述的方面和特征的任意组合。即,根据本公开的方法并不限于本文具体所述的方面和特征的组合,还包括所提供的方面和特征的任意组合。
本公开的一个或多个实施方式的细节将在下面的附图和描述中详述。根据说明书和附图以及权利要求,本公开的其他特征和优势将显而易见。
附图说明
图1示出能够被用于执行本公开的实施方式的示例性环境。
图2示出了根据本公开的实施方式的示例性测试平台。
图3示意性地示出了根据本公开的实施方式的示例性生产区块链及示例性测试区块链。
图4示出了能够根据本公开的实施方式执行的示例性方法。
各附图中相同的附图标记表示相同的元件。
具体实施方式
本公开的实施方式包括用于测试区块链应用的计算机实施方法。更具体地,本公开的实施方式关于用于区块链网络的测试平台,能够在不影响生产区块链的情况下测试应用。在一些实施方式中,动作包括:实例化对生产区块链具有只读访问权限的测试区块链容器;从生产区块链复制一组区块到测试环境以提供测试区块链,测试区块链容器对测试区块链具有读写访问权限;并且,执行区块链应用的测试,该测试导致一组测试区块被依次附加到测试区块链,每个测试区块至少部分包括测试数据,其中,生产区块在所述测试执行期间被附加到生产区块链。
为本公开的实施方式提供进一步的背景,且如上所述,分布式账本系统(DLS),亦可称为共识网络(例如,由点对点(peer-to-peer)节点组成)和区块链网络,使得参与的实体能够安全且不可篡改地进行交易并存储数据。尽管术语区块链通常与比特币加密货币网络关联,但是在不指代任何特殊用例的情况下,本文中所使用的区块链主要指DLS。如上所述,区块链网络可被提供为公有区块链网络、私有区块链网络或联盟区块链网络。
在公有区块链网络中,共识过程由共识网络的节点控制。例如,成百上千甚至上百万的实体能够协同运作公有区块链网络,每个实体操作该公有区块链网络中的至少一个节点。因此,公有区块链网络可被认为是关于参与的实体的公有网络。在一些示例中,多数实体(节点)必须签署每个区块,以使该区块有效并被添加到区块链网络的区块链(分布式账本)中。示例性公有区块链网络包括比特币网络,其为点对点支付网络。比特币网络利用称为区块链的分布式账本。如上所述,然而,术语区块链通常用于指代分布式账本,而不特指比特币网络。
通常,公有区块链网络支持公开交易。公开交易为公有区块链网络中的所有节点共享,并且被存储于全局区块链中。全局区块链是跨所有节点复制的区块链。也即,所有节点相对于全局区块链都处于完全共识状态。为达成共识(例如,同意将区块添加至区块链),在该公有区块链网络中实施共识协议。共识协议的示例包括,但不限于,在比特币网络中实施的工作量证明(POW)。
通常,私有区块链网络被提供给特定实体,该特定实体集中控制读写权限。该实体控制哪些节点能参与到该区块链网络中。因此,私有区块链网络通常被称为权限网络,其对谁可以参与该网络以及它们的参与级别(例如,只在某些交易中)加以限制。可以使用各种类型的访问控制机制(例如,现有参与者对添加新实体进行投票,管理机构可以控制准入)。
通常,联盟区块链网络在参与的实体之间是私有的。在联盟区块链网络中,共识过程由授权的节点集控制,一个或多个节点由相应的实体(例如,金融机构、保险公司)操作。例如具有十(10)个实体(例如,金融机构、保险公司)的联盟可以操作联盟区块链网络,其中每个实体操作该联盟区块链网络中的至少一个节点。因此,联盟区块链网络可被认为是关于参与的实体的私有网络。在一些示例中,每个实体(节点)必须签署每个区块,以使该区块有效并被添加到该区块链中。在一些示例中,至少实体(节点)的子集(例如,至少7个实体)必须签署每个区块,以使该区块有效并被添加到该区块链中。
在本文中,参考联盟区块链网络来进一步详细描述本公开的实施方式,该联盟区块链网络在参与的实体之间是公开的。但是,可以考虑到本公开的实施方式能够在任何合适类型的区块链网络中实现。
鉴于以上背景,本文进一步详细描述了本公开的实施方式。更具体地,且如上所述,本公开的实施方式关于用于区块链网络的测试平台,该测试平台能够在不影响生产区块链的情况下测试应用。
图1绘示了可用于执行本公开的实施方式的示例性环境100。在一些示例中,例如,示例性环境100使得实体能够参与到联盟区块链网络102中。示例性环境100包括计算设备106、108以及网络110。在一些示例中,网络110包括局域网(LAN)、广域网(WAN)、互联网或其组合,并连接网络站点、用户设备(例如,计算设备)和后端系统。在一些示例中,可以通过有线和/或无线通信链接访问网络110。
在所绘示的示例中,计算系统106、108可以各自包括任何合适的计算系统,其可以作为节点参与到联盟区块链网络102中。示例性计算设备包括但不限于,服务器、台式计算机、膝上型计算机、平板计算设备和智能电话。在一些示例中,计算系统106、108承载一个或多个由计算机实施的服务,用于与联盟区块链网络102进行交互。例如,计算系统106可以承载第一实体(例如,用户A)的由计算机实施的、例如交易管理系统的服务,第一实体使用该交易管理系统管理其与一个或多个其他实体(例如,其他用户)的交易。计算系统108可以承载第二实体(例如,用户B)的由计算机实施的、例如交易管理系统的服务,第二实体使用该交易管理系统管理其与一个或多个其他实体(例如,其他用户)的交易。在图1的示例中,联盟区块链网络102示出为节点的点对点网络,并且计算系统106、108分别提供参与到联盟区块链网络102中的第一实体和第二实体的节点。
在诸如联盟区块链网络的区块链网络中,可开发、测试并部署应用以在区块链网络中执行。示例性应用能够包括但不限于智能合约。智能合约能够被描述为具有影响各方的合约条款的真实的法律合约的数字表示。在示例性的环境中,智能合约在联盟区块链网络中实施、存储、(按需)更新并执行。与智能合约相关的合约方(例如,买方和卖方)以联盟区块链网络中的节点来表示。
在一些示例中,智能合约能够存储数据,该数据能被用于记录信息、事实、关联、余额及实施合约执行逻辑所需的任何其他信息。智能合约能够被描述为由函数(functions)组成的计算机可执行程序,其中,可创建智能合约的实例并调用函数以执行其中的逻辑。
从技术上讲,智能合约能够基于对象和面向对象的类实施。例如,智能合约的条款和构成要素能够表示为由实施智能合约的应用处理的对象。智能合约(或智能合约中的对象)能够调用另一智能合约(或同一智能合约中的对象),就像其他面向对象的对象一样。由对象做出的调用可为例如创建、更新、删除、传播或者与另一类的对象通信的调用。对象间的调用能够实施为函数、方法、应用编程接口(API)或者其他调用机制。例如,第一对象可调用函数以创建第二对象。
集成开发环境(IDE)可用于开发、测试及部署诸如智能合约的应用程序至区块链网络。IDE的示例包括由瑞士楚格(Zug)州的以太坊基金会提供的、用于以Solidity语言创建智能合约的Remix IDE。例如,在一些情况下,IDE能够测试智能合约以例如进行漏洞排除。但是,在测试期间,操作是在生产区块链上执行的。这导致不稳定的测试环境及被污染的生产环境。用Remix IDE作为非限制性示例,Remix IDE提供JavaScript仿真以修改并执行智能合约,以及Web3提供商与生产区块链的连接。在一些示例中,生产区块链指区块链网络中用于记录参与区块链网络的实体之间的交易的活动区块链(live blockchain)。因此,当在Remix IDE内的测试期间执行交易操作时,所述操作在生产区块链上执行。除其他问题外,这导致测试交易污染生产区块链。此外,模拟生产区块链的区块链测试环境难以创建并维持。例如,移除或重新生成生产数据可能要求为每次测试运行重新创建整个测试环境。
鉴于此,本公开的实施方式提供能够在不影响生产区块链的情况下测试应用的区块链网络测试平台。在一些实施方式中,且如本文中进一步详述的,本公开的测试平台使用容器(container)来限制读/写访问权限,并提供包括生产区块链的至少一部分的测试区块链。本公开的测试平台避免向生产区块链写入测试数据,并且能够在测试运行之间有效地重新设置测试平台。
图2绘示了根据本公开的实施方式的示例性测试平台200。在绘示的示例中,测试平台200包括承载管理工具202、生产区块链容器204、生产区块数据206、测试区块链容器210及测试区块数据212的服务器系统201。尽管绘示了单个服务器系统201,应当理解,服务器系统201能够表示一个或多个服务器资源。在一些示例中,管理工具202被提供为一个或多个计算机可执行程序,且能够根据本公开的实施方式来设置、使用及清除测试环境。
在一些实施方式中,生产区块链容器204及测试区块链容器210分别被提供为容器,其可被描述为封装代码及代码依赖关系的软件单元。更具体地,容器提供使得应用能够从它们实际执行的环境中解耦的逻辑封装,,这使得能够容易且一致地部署基于容器的应用,而不管目标环境(例如,服务器系统201)的类型。示例性容器包括但不限于美国加州三藩市的Docker公司提供的docker容器。在本文中,参考docker容器进一步详细说明本公开的实施方式。但是,应当理解,本公开的实施方式能够使用任何合适的容器实现。
在一些实施方式中,生产区块链容器204执行服务器系统201的应用以与区块链网络交互。例如,服务器系统201能够作为区块链网络中的节点运行,生产区块链容器204执行参与区块链网络的功能(例如,向区块链网络公开交易、参与交易的共识过程、维护区块链的本地副本)。在一些示例中,生产区块数据206存储生产区块链的本地副本。在因区块链网络上的交易的结果而更新生产区块链(例如,向生产区块链添加新区块)时,生产区块链容器204向生产区块数据206写入所述更新。这样,生产区块数据206与区块链网络的节点上存储的生产区块链的副本一致。如图2所示,生产区块链容器204对生产区块数据206具有读写访问权限。
根据本公开的实施方式,提供测试区块链容器210,且其表示用于测试的区块链环境。测试区块链容器210仅配置有对生产区块数据206的读访问权限。这样,测试区块链容器210无法向生产区块数据206写,避免了通过测试执行而使生产区块链受污染。为了执行应用(例如,智能合约)的测试,测试区块链容器210从生产区块数据206复制区块数据。测试区块链容器210执行测试操作,这导致生成测试区块。测试区块链容器210向存储于测试区块数据212中的测试区块链写入测试区块。
图3示意性地示出根据本公开的实施方式的示例性生产区块链302和示例性测试区块链304。在一些实施方式中,测试区块链容器210根据生产区块链302创建测试区块链304,并且生产区块链和测试区块链304被节点(例如,服务器系统201)并行使用。测试区块链304通过复制生产区块链302中的一个或多个区块而创建。在图3的示例中,测试区块链304通过复制生产区块链302中的区块0001-0004来创建。即,测试区块链容器210从生产区块数据206复制区块0001-0004的区块数据,并将区块数据写入测试区块数据212中。
在一些实施方式中,测试区块链304被创建为整个生产区块链302的副本。例如,测试区块链304可创建于时刻t0。在一些示例中,在时刻t0,生产区块链302仅包括区块0001-0004。因此,在时刻t0被创建的测试区块链304为生产区块链302的完整副本。
在时刻t0后,执行应用的测试,作为测试的一部分而生成的区块被添加到测试区块链304。例如,由Remix IDE提供的JavaScript虚拟机(VM)模拟运行环境。因此,IDE不能确保对区块链链接操作(blockchain link operation)、诸如共识和区块的模拟。例如,在生产操作中,区块链网络依赖共识协议以在参与区块链网络的节点之间就哪些区块要被添加至区块链达成一致。
在一些示例中,共识数据可不存储在生产区块链中,因此,如果节点(例如服务器系统201)确定生产区块链操作的链接不能被模拟,则测试区块链运行环境重新进行生产区块链操作。这导致在测试环境中产生相同的针对生产数据的测试区块(区块0005-0008)。因此,生产区块链302和测试区块链304能够并行地且相互独立地执行。具体地,并且根据本公开的实施方式,测试区块链304能够被修改而不影响生产区块链302,反之亦然。如本文所述,例如,参考图2,测试区块链容器210读取生产区块数据206,使得测试区块链容器210在测试期间能够访问所有生产区块数据206。这样,在测试期间(例如,在时刻t0后)有区块被添加到测试区块链304时,测试区块链304反映(reflect)生产数据。生产区块链302无法访问测试数据文件夹。
在一些实施方式中,能够完成测试并查看测试结果。能够确定将执行下一轮测试。在一些示例中,已被添加到测试区块链304的一组测试区块被删除(例如,区块0005-0008)。下一轮测试被执行,并且新的测试区块被依次附加到测试区块链304。在一些实施方式中,如果确定无新一轮测试要被执行,则可重新设置包含测试区块链的测试环境。管理工具识别要终止的测试用例并创建执行测试链的一个或多个节点的列表。针对包含所识别节点中的一个或多个节点的列表,终止测试区块链容器210。
图4绘示了能够根据本公开的实施方式执行的示例性处理400。在一些实施方式中,示例性处理400可使用一个或多个计算设备执行的一个或多个计算机可执行程序来执行。示例性处理400基于一个或多个上述附图。通常,示例性处理关于根据本公开的实施方式创建并维持区块链应用。
如本文所述,例如,参考图2,实例化对生产区块链具有只读访问权限的测试区块链容器(步骤402)。
从生产区块链复制一组区块至测试环境以提供测试区块链,测试区块链容器对测试区块链具有读写访问权限(步骤404),如图3和图2进一步分别详述的。
如本文所述,例如,参考图3,执行区块链应用的测试,该测试导致一组测试区块被依次附加到测试区块链,每个测试区块至少部分包括测试数据,其中,在执行测试期间,生产区块被附加到生产区块链(步骤406)。
所述的特征可在数字电子电路中实现,或在计算机硬件、固件、软件或其组合中实现。该装置可以在有形地嵌入信息载体(例如,在机器可读存储设备)中的计算机程序产品实现,该计算机程序产品由可编程处理器执行;可以由执行指令程序的可编程处理器执行方法步骤,以通过对输入数据进行操作并生成输出来执行所述实施方式的功能。所描述的特征可有利地在可编程系统上可执行的一个或多个计算机程序中实现,所述可编程系统包括至少一个可编程处理器,其耦合以从数据存储系统接收数据和指令,并将数据和指令传输到数据存储系统;至少一个输入设备和至少一个输出设备。计算机程序是可以直接或间接地在计算机中使用以执行某项活动或带来某种结果的一组指令。计算机程序可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或适合用于计算环境中的其他单元。
举例来说,用于执行指令程序的合适处理器包括通用和专用微处理器,以及任何类型的计算机的唯一处理器或多个处理器之一。通常,处理器将从只读存储器和/或随机存取存储器接收指令和数据。计算机的元件可包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还可以包括一个或多个用于存储数据文件的大容量存储设备,或者可操作地耦合以与一个或多个用于存储数据文件的大容量存储设备通信;这些设备包括磁盘,例如内部硬盘和可移动磁盘;磁光盘;和光盘。适合于有形地嵌入计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,如内部硬盘和可移动磁盘;磁光盘;和CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用集成电路(ASIC)补充或并入到专用集成电路(ASIC)中。
为了提供与用户的交互,这些特征可以在具有诸如阴极射线管(CRT)或液晶显示器(LCD)显示屏之类的、用于向用户显示信息的显示设备以及用户可用以向计算机提供输入的键盘和诸如鼠标或者轨迹球的指向设备的计算机上实现。
特征可以在包括后端组件,诸如数据服务器,或者包括中间件组件,诸如应用服务器或因特网服务器,或包括前端组件,诸如具有图形用户界面或者因特网浏览器的客户端计算机,或其任意组合的计算机系统中实现。系统的组件可以通过诸如通信网络的任何形式或介质的数字数据通信连接。通信网络的示例包括例如局域网(LAN)、广域网(WAN)以及形成因特网的计算机和网络。
计算机系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过例如所描述的网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
另外,图中描绘的逻辑流程并不要求所示的特定顺序或次序来实现期望的结果。另外,可以从所描述的流程中提供其他步骤,或者可以从所描述的流程中去除步骤,并且可以将其他组件添加到所述系统中或从所述系统中移除。因此,其他实施方式在以下权利要求的范围内。
已经描述了本公开的许多实现方式。然而,应该理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其他实施方式在以下权利要求的范围内。

Claims (18)

1.一种用于测试区块链应用的计算机实施方法,所述方法被一个或多个处理器执行,包括:
实例化对生产区块链具有只读访问权限的测试区块链容器;
从所述生产区块链复制一组区块到测试环境以提供测试区块链,所述测试区块链容器对所述测试区块链具有读写访问权限;以及
执行区块链应用的测试,所述测试导致一组测试区块被依次附加到所述测试区块链,每个测试区块至少部分包括测试数据,其中,生产区块在所述测试执行期间被附加到所述生产区块链。
2.根据权利要求1所述的方法,其中,提供生产区块链容器,
所述生产区块链容器对所述生产区块链具有读写访问权限,且对所述测试区块链不具有访问权限。
3.根据权利要求2所述的方法,其中,在参与区块链网络的服务器系统内,与所述测试区块链容器并行地提供所述生产区块链容器。
4.根据权利要求1所述的方法,其中,
在所述测试期间,多个节点执行共识协议,以将测试区块附加到所述测试区块链,
所述多个节点中的每个节点维持所述测试区块链的副本。
5.根据权利要求1所述的方法,还包括:
删除在所述测试期间附加至所述测试区块链的测试区块;以及
执行第二测试,导致第二组测试区块被依次附加到所述测试区块链。
6.根据权利要求1所述的方法,还包括,
响应于所述测试的结束,终止针对参与所述测试的多个节点中的每个节点的测试区块链容器。
7.一种非暂时性计算机可读存储介质,其耦接到一个或多个处理器且其上存储有指令,当所述指令被所述一个或多个处理器执行时,所述指令促使所述一个或多个处理器执行用于测试区块链应用的操作,所述操作包括:
实例化对生产区块链具有只读访问权限的测试区块链容器;
从所述生产区块链复制一组区块到测试环境以提供测试区块链,所述测试区块链容器对所述测试区块链具有读写访问权限;以及
执行区块链应用的测试,所述测试导致一组测试区块被依次附加到所述测试区块链,每个测试区块至少部分包括测试数据,其中,生产区块在所述测试执行期间被附加到所述生产区块链。
8.根据权利要求7所述的计算机可读存储介质,其中,提供生产区块链容器,
所述生产区块链容器对所述生产区块链具有读写访问权限,且对所述测试区块链不具有访问权限。
9.根据权利要求8所述的计算机可读存储介质,其中,在参与区块链网络的服务器系统内,与所述测试区块链容器并行地提供所述生产区块链容器。
10.根据权利要求7所述的计算机可读存储介质,其中,
在所述测试期间,多个节点执行共识协议,以将测试区块附加到所述测试区块链,
所述多个节点中的每个节点维持所述测试区块链的副本。
11.根据权利要求7所述的计算机可读存储介质,其中,操作还包括:
删除在所述测试期间附加至所述测试区块链的测试区块;以及
执行第二测试,导致第二组测试区块被依次附加到所述测试区块链。
12.根据权利要求7所述的计算机可读存储介质,其中,操作还包括:
响应于所述测试的结束,终止针对参与所述测试的多个节点中的每个节点的测试区块链容器。
13.一种系统,包括:
计算设备,及
计算机可读存储装置,其耦接到所述计算设备且其上存储有指令,当所述指令被所述计算设备执行时,所述指令促使所述计算设备执行用于测试区块链应用的操作,所述操作包括:
实例化对生产区块链具有只读访问权限的测试区块链容器;
从所述生产区块链复制一组区块到测试环境以提供测试区块链,所述测试区块链容器对所述测试区块链具有读写访问权限;以及
执行区块链应用的测试,所述测试导致一组测试区块被依次附加到所述测试区块链,每个测试区块至少部分包括测试数据,其中,生产区块在所述测试执行期间被附加到所述生产区块链。
14.根据权利要求13所述的系统,其中,提供生产区块链容器,
所述生产区块链容器对所述生产区块链具有读写访问权限,且对所述测试区块链不具有访问权限。
15.根据权利要求14所述的系统,其中,在参与区块链网络的服务器系统内,与所述测试区块链容器并行地提供所述生产区块链容器。
16.根据权利要求13所述的系统,其中,
在所述测试期间,多个节点执行共识协议,以将测试区块附加到所述测试区块链,
所述多个节点中的每个节点维持所述测试区块链的副本。
17.根据权利要求13所述的系统,其中,操作还包括:
删除在所述测试期间附加至所述测试区块链的测试区块;以及
执行第二测试,导致第二组测试区块被依次附加到所述测试区块链。
18.根据权利要求13所述的系统,其中,操作还包括,
响应于所述测试的结束,终止针对参与所述测试的多个节点中的每个节点的测试区块链容器。
CN201880005181.3A 2018-11-30 2018-11-30 区块链网络测试平台 Active CN110291506B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/118532 WO2019072288A2 (en) 2018-11-30 2018-11-30 TEST PLATFORM FOR BLOCK CHAIN NETWORKS

Publications (2)

Publication Number Publication Date
CN110291506A true CN110291506A (zh) 2019-09-27
CN110291506B CN110291506B (zh) 2023-08-18

Family

ID=66100019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880005181.3A Active CN110291506B (zh) 2018-11-30 2018-11-30 区块链网络测试平台

Country Status (8)

Country Link
US (1) US11210203B2 (zh)
EP (1) EP3549022B1 (zh)
JP (1) JP6727435B2 (zh)
KR (1) KR102225973B1 (zh)
CN (1) CN110291506B (zh)
PH (1) PH12019500867A1 (zh)
SG (1) SG11201903544SA (zh)
WO (1) WO2019072288A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111478827A (zh) * 2020-06-24 2020-07-31 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、系统
CN111475501A (zh) * 2020-06-24 2020-07-31 支付宝(杭州)信息技术有限公司 区块链网络的数据清理方法及装置
WO2021259131A1 (zh) * 2020-06-24 2021-12-30 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、系统

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110097467B (zh) * 2019-05-05 2021-04-13 华中科技大学 一种针对智能合约安全性和稳定性的侧链测试系统和方法
CN110471849B (zh) * 2019-08-09 2022-10-14 南京邮电大学 区块链资源管理测试方法及系统、存储介质和终端
CN110493080B (zh) * 2019-08-19 2021-12-14 腾讯科技(深圳)有限公司 一种区块链节点监控方法、装置及电子设备和存储介质
WO2020035090A2 (en) 2019-11-08 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. Lightweight decentralized application platform
EP3776430B1 (en) * 2019-11-08 2022-04-27 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for blockchain-based decentralized application development
WO2021116728A1 (en) * 2019-12-10 2021-06-17 Hitachi, Ltd. Method and apparatus creating test environments for blockchain systems
CN111158645B (zh) * 2019-12-10 2022-09-20 杭州中天微系统有限公司 提供集成开发环境的系统和方法
US20220343323A1 (en) * 2020-03-30 2022-10-27 Hitachi, Ltd. Method and apparatus maintaining private data with consortium blockchain
CN111459825B (zh) * 2020-04-03 2023-10-31 银清科技有限公司 支付业务的区块链应用系统、方法及装置
US20220091966A1 (en) * 2020-09-22 2022-03-24 Mastercontrol, Inc. Systems and methods for facilitating software validation within a production environment
US11652742B2 (en) * 2020-10-16 2023-05-16 Microsoft Technology Licensing, Llc Ghost routing
KR102338756B1 (ko) * 2020-11-17 2021-12-14 한국과학기술원 블록 데이터를 공유하는 블록체인 네트워크의 시뮬레이션 방법 및 이를 이용하는 시스템
US20220237111A1 (en) * 2021-01-23 2022-07-28 Dido Solutions, Inc. Distributed immutable data object testing
CN114422409A (zh) * 2021-12-17 2022-04-29 深圳壹账通智能科技有限公司 区块链网络的测试方法、装置、设备及存储介质
WO2023191644A1 (en) * 2022-03-31 2023-10-05 Xero Limited Method, program, and apparatus for controlling access to a distributed shared ledger
US11914616B1 (en) 2022-12-16 2024-02-27 Alchemy Insights, Inc. Systems and methods for creating a consistent blockchain including block commitment determinations
US11769143B1 (en) 2022-12-22 2023-09-26 Alchemy Insights, Inc. System and method for high performance providing fresh NFT metadata
US11816021B1 (en) * 2022-12-22 2023-11-14 Alchemy Insights, Inc. System and method for intelligent testing of blockchain applications using a shadow system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150293592A1 (en) * 2014-04-15 2015-10-15 Samsung Electronics Co., Ltd. Haptic information management method and electronic device supporting the same
US9934138B1 (en) * 2016-12-07 2018-04-03 International Business Machines Corporation Application testing on a blockchain
CN108170590A (zh) * 2017-12-12 2018-06-15 北京大学深圳研究生院 一种区块链系统的测试系统和方法
WO2018112940A1 (zh) * 2016-12-23 2018-06-28 深圳前海达闼云端智能科技有限公司 区块链节点的业务执行方法、装置及节点设备
CN108256354A (zh) * 2018-01-29 2018-07-06 张天 一种基于试验数据的存储方法及存储介质
US20180225194A1 (en) * 2016-05-16 2018-08-09 Jpmorgan Chase Bank, N.A. Method and system for implementing an automation software testing and packaging framework with entitlements
CN108628745A (zh) * 2018-05-03 2018-10-09 深圳市牛鼎丰科技有限公司 应用程序的跟踪记录系统、方法、计算机设备和存储介质
CN108763058A (zh) * 2018-04-24 2018-11-06 苏州同济区块链研究院有限公司 一种区块链测评系统
CN108881363A (zh) * 2018-01-03 2018-11-23 上海指旺信息科技有限公司 基于区块链的点对点个人信息共享平台及方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811563B2 (en) * 2012-09-17 2017-11-07 NetSuite Inc. System and method for recursively iterating over a loosely associated data structure
US9740760B2 (en) * 2014-04-11 2017-08-22 Bank Of America Corporation Method for tracking differences between production and development databases to perform an automatic synchronization
EP3405862B1 (en) * 2016-01-19 2020-11-18 Priv8Pay, Inc. Network node authentication
CN108011741B (zh) * 2016-10-28 2020-07-17 富士通株式会社 用于模拟和测试分布式网络的区块链的方法和系统
US10318979B2 (en) 2016-12-26 2019-06-11 International Business Machines Corporation Incentive-based crowdvoting using a blockchain
EP3583562A1 (en) 2017-02-17 2019-12-25 Nokia Technologies Oy Changing smart contracts recorded in block chains
US10579368B2 (en) * 2017-03-10 2020-03-03 Salesforce.Com, Inc. Blockchain version control systems
CN108073513A (zh) * 2017-04-21 2018-05-25 富士通株式会社 对基于区块链的智能合约进行测试的装置和方法
US10541886B2 (en) 2017-05-24 2020-01-21 International Business Machines Corporation Decentralized change management based on peer devices using a blockchain
WO2019089654A1 (en) * 2017-10-30 2019-05-09 Pricewaterhousecoopers Llp Implementation of continuous real-time validation of distributed data storage systems
WO2019094797A1 (en) * 2017-11-10 2019-05-16 Digital Asset (Switzerland) GmbH Method and apparatus for execution of atomic transactions
US10733176B2 (en) * 2017-12-04 2020-08-04 International Business Machines Corporation Detecting phantom items in distributed replicated database
US20190306173A1 (en) * 2018-04-02 2019-10-03 Ca, Inc. Alert smart contracts configured to manage and respond to alerts related to code
CN108712276A (zh) 2018-04-19 2018-10-26 上海分布信息科技有限公司 基于区块链技术的共识网络管理方法、装置、设备及存储介质
US10972279B2 (en) * 2018-06-07 2021-04-06 International Business Machines Corporation Efficient validation for blockchain
CN108833398B (zh) 2018-06-08 2020-12-15 深圳智链未来科技有限公司 一种区块链智能合约更新方法、装置及设备
US20200162263A1 (en) * 2018-11-15 2020-05-21 Eleven01 International Limited System and method of validation of block chain by secondary chain having incentivization and insurance coverage powered by proof of work

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150293592A1 (en) * 2014-04-15 2015-10-15 Samsung Electronics Co., Ltd. Haptic information management method and electronic device supporting the same
US20180225194A1 (en) * 2016-05-16 2018-08-09 Jpmorgan Chase Bank, N.A. Method and system for implementing an automation software testing and packaging framework with entitlements
US9934138B1 (en) * 2016-12-07 2018-04-03 International Business Machines Corporation Application testing on a blockchain
WO2018112940A1 (zh) * 2016-12-23 2018-06-28 深圳前海达闼云端智能科技有限公司 区块链节点的业务执行方法、装置及节点设备
CN108170590A (zh) * 2017-12-12 2018-06-15 北京大学深圳研究生院 一种区块链系统的测试系统和方法
CN108881363A (zh) * 2018-01-03 2018-11-23 上海指旺信息科技有限公司 基于区块链的点对点个人信息共享平台及方法
CN108256354A (zh) * 2018-01-29 2018-07-06 张天 一种基于试验数据的存储方法及存储介质
CN108763058A (zh) * 2018-04-24 2018-11-06 苏州同济区块链研究院有限公司 一种区块链测评系统
CN108628745A (zh) * 2018-05-03 2018-10-09 深圳市牛鼎丰科技有限公司 应用程序的跟踪记录系统、方法、计算机设备和存储介质

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
A MILLER等: "Shadow-Bitcoin: Scalable Simulation via Direct Execution of Multi-Threaded Applications", 《CSET"15:8TH WORKSHOP ON CYBER SECURITY EXPERIMENTION AND TEST》 *
A MILLER等: "Shadow-Bitcoin: Scalable Simulation via Direct Execution of Multi-Threaded Applications", 《CSET"15:8TH WORKSHOP ON CYBER SECURITY EXPERIMENTION AND TEST》, 10 August 2015 (2015-08-10), pages 1 - 8 *
姚忠将等: "关于区块链原理及应用的综述", 《科研信息化技术与应用》 *
姚忠将等: "关于区块链原理及应用的综述", 《科研信息化技术与应用》, no. 02, 20 March 2017 (2017-03-20), pages 5 - 19 *
木环: "基于容器技术的阿里云区块链优势和实现方法", 《HTTPS://DEVELOPER.ALIYUN.COM/ARTICLE/379960》 *
木环: "基于容器技术的阿里云区块链优势和实现方法", 《HTTPS://DEVELOPER.ALIYUN.COM/ARTICLE/379960》, 19 January 2018 (2018-01-19), pages 1 - 7 *
毕云松: "交联电缆生产线远程在线监造系统研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
毕云松: "交联电缆生产线远程在线监造系统研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 February 2018 (2018-02-15), pages 138 - 1140 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111478827A (zh) * 2020-06-24 2020-07-31 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、系统
CN111475501A (zh) * 2020-06-24 2020-07-31 支付宝(杭州)信息技术有限公司 区块链网络的数据清理方法及装置
CN111475501B (zh) * 2020-06-24 2020-10-30 支付宝(杭州)信息技术有限公司 区块链网络的数据清理方法及装置
CN111478827B (zh) * 2020-06-24 2020-12-04 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、系统
CN112910724A (zh) * 2020-06-24 2021-06-04 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、系统
WO2021259125A1 (zh) * 2020-06-24 2021-12-30 支付宝(杭州)信息技术有限公司 区块链网络的数据清理方法及装置
WO2021259127A1 (zh) * 2020-06-24 2021-12-30 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、系统
WO2021259131A1 (zh) * 2020-06-24 2021-12-30 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、系统
CN112910724B (zh) * 2020-06-24 2022-08-09 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、系统

Also Published As

Publication number Publication date
KR20200067115A (ko) 2020-06-11
US11210203B2 (en) 2021-12-28
SG11201903544SA (en) 2019-05-30
JP6727435B2 (ja) 2020-07-22
JP2020502621A (ja) 2020-01-23
EP3549022B1 (en) 2021-08-18
US20190251018A1 (en) 2019-08-15
PH12019500867A1 (en) 2019-12-02
KR102225973B1 (ko) 2021-03-11
WO2019072288A2 (en) 2019-04-18
EP3549022A4 (en) 2019-12-11
EP3549022A2 (en) 2019-10-09
CN110291506B (zh) 2023-08-18
WO2019072288A3 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
CN110291506A (zh) 区块链网络测试平台
Richards et al. Fundamentals of software architecture: an engineering approach
Coplien A Generative Development—
US20200225937A1 (en) Function-as-a-service (faas) platform in blockchain networks
Erder et al. Continuous architecture: sustainable architecture in an agile and cloud-centric world
CN110199302A (zh) 事件驱动的区块链工作流处理
Jackson et al. Architecting Cloud Computing Solutions: Build cloud strategies that align technology and economics while effectively managing risk
CN110162470A (zh) 一种区块链的测试方法和装置
CN107436794A (zh) 容器图像管理系统及方法
CN106599018A (zh) 库存操作方法和系统
CN107015761A (zh) 使用链克隆的时间点拷贝
KR20200067119A (ko) 블록체인 네트워크 내에서 스마트 에셋의 원자적 전송을 위한 플랫폼
Bandara et al. Patterns for blockchain data migration
CN103841178B (zh) 网络附连存储环境的带内管理的方法和系统
Etoundi et al. Special issue on ICT for Africa development: An introduction and framework for research
CN110402435A (zh) 具有松散耦合节点的多主数据库中的单调交易
Bandara et al. Patterns for blockchain migration
Babel et al. Lanturn: Measuring economic security of smart contracts through adaptive learning
Shrivastava et al. Solutions Architect's Handbook: Kick-start your solutions architect career by learning architecture design principles and strategies
US20140025439A1 (en) Regression free business process management
Sharma Blockchain: A Hype Or a Hoax?
Kleszczowski et al. Evaluating social impact in practice: Constructing a response to institutional demand in a French nonprofit organization
US20220405061A1 (en) Blockchain-based source code modification detection and tracking system and method for artificial intelligence platforms
Cherednichenko et al. Multi-Agent Modeling of Project Management Processes in Distributed Teams
Shah Blockchain based decentralized freelancing application

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40016370

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant