IP Library Granted Patent US 11,210,203
Granted Patent B2
US 11,210,203 · App. 16/390,085 · Granted Dec 28, 2021

Testing platform for blockchain networks

Inventors: Ge Jin (Hanzghou, CN); Kailai Shao (Hanzghou, CN); Pengtao Qi (Hanzghou, CN)
Assignee: Advanced New Technologies Co., Ltd.
G06F11/3664G06F11/3692G06F11/3696H04L9/0637H04L9/3236H04L2209/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,210,203
App. No.
16/390,085
Granted
Dec 28, 2021
Kind
B2
Abstract

Implementations of the present disclosure include instantiating a test blockchain container having read-only access to a production blockchain, copying a set of blocks from the production blockchain to a test environment to provide a test blockchain, the test blockchain container having read-write access to the test blockchain, and executing a test of a blockchain application, the test resulting in a set of test blocks being sequentially appended to the test blockchain, each test block at least partially including test data, wherein production blocks are appended to the production blockchain during execution of the test.

Claims (56)

1. A computer-implemented method for testing blockchain applications, the method being executed by one or more processors, and comprising:

instantiating, on a computing system, a test blockchain container having read-only access to a production blockchain of a blockchain network;

instantiating, on the computing system, a production blockchain container having read-write access to the production blockchain, wherein the test blockchain container and the production blockchain container each comprise a software application that packages code and code dependencies in a logical packaging;

copying, by the test blockchain container, a set of blocks from the production blockchain to a test environment, thereby providing a test blockchain that includes the set of blocks from the production blockchain, the test blockchain container having read-write access to the test blockchain; and

executing a test of a blockchain application on the test blockchain in the test environment independent of a production environment of the blockchain network, wherein executing the test comprises generating, based at least on the set of blocks from the production blockchain that are in the test blockchain, a set of test blocks that each comprise test data and sequentially appending the test blocks to the test blockchain independent of the production blockchain and without appending the test blocks to the production blockchain, wherein during execution of the test of the blockchain application,

production blocks are independently appended to the production blockchain in parallel with the test blocks being appended to the test blockchain,

the test blockchain is modified without affecting the production blockchain and the production blockchain is modified without affecting the test blockchain, and

the production blockchain container interacts with the production blockchain in parallel with the test blockchain container executing operations of the test of the blockchain application.

2. The computer-implemented method of claim 1 , wherein the production blockchain container is blocked from accessing the test blockchain.

3. The computer-implemented method of claim 1 , wherein, during the test, a plurality of nodes execute a consensus protocol for appending the test blocks to the test blockchain, each node of the plurality of nodes maintaining a copy of the test blockchain.

4. The computer-implemented method of claim 1 , further comprising:

deleting the test blocks appended to the test blockchain during the test; and

executing a second test resulting in a second set of test blocks being sequentially appended to the test blockchain.

5. The computer-implemented method of claim 1 , further comprising, in response to ending of the test, terminating test blockchain containers for each node of a plurality of nodes participating in the test.

6. The computer-implemented method of claim 1 , wherein:

the computing system serves as a node on the blockchain network;

the production blockchain container executes applications to interact with the production blockchain; and

the read-only access to the production blockchain prevents the test blockchain container from writing to the production blockchain.

7. A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for testing blockchain applications, the operations comprising:

instantiating, on a computing system, a test blockchain container having read-only access to a production blockchain of a blockchain network;

instantiating, on the computing system, a production blockchain container having read-write access to the production blockchain, wherein the test blockchain container and the production blockchain container each comprise a software application that packages code and code dependencies in a logical packaging;

copying, by the test blockchain container, a set of blocks from the production blockchain to a test environment, thereby providing a test blockchain that includes the set of blocks from the production blockchain, the test blockchain container having read-write access to the test blockchain; and

executing a test of a blockchain application on the test blockchain in the test environment independent of a production environment of the blockchain network, wherein executing the test comprises generating, based at least on the set of blocks from the production blockchain that are in the test blockchain, a set of test blocks that each comprise test data and sequentially appending the test blocks to the test blockchain independent of the production blockchain and without appending the test blocks to the production blockchain, wherein during execution of the test of the blockchain application,

production blocks are independently appended to the production blockchain in parallel with the test blocks being appended to the test blockchain,

the test blockchain is modified without affecting the production blockchain and the production blockchain is modified without affecting the test blockchain, and

the production blockchain container interacts with the production blockchain in parallel with the test blockchain container executing operations of the test of the blockchain application.

8. The non-transitory computer-readable storage medium of claim 7 , wherein the production blockchain container is blocked from accessing the test blockchain.

9. The non-transitory computer-readable storage medium of claim 7 , wherein, during the test, a plurality of nodes execute a consensus protocol for appending the test blocks to the test blockchain, each node of the plurality of nodes maintaining a copy of the test blockchain.

10. The non-transitory computer-readable storage medium of claim 7 , wherein operations further comprise:

deleting the test blocks appended to the test blockchain during the test; and

executing a second test resulting in a second set of test blocks being sequentially appended to the test blockchain.

11. The non-transitory computer-readable storage medium of claim 7 , wherein operations further comprise, in response to ending of the test, terminating test blockchain containers for each node of a plurality of nodes participating in the test.

12. The non-transitory computer-readable storage medium of claim 7 , wherein:

the computing system serves as a node on the blockchain network;

the production blockchain container executes applications to interact with the production blockchain; and

the read-only access to the production blockchain prevents the test blockchain container from writing to the production blockchain.

13. A system, comprising:

a computing device comprising a computer processor; and

a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for testing blockchain applications, the operations comprising:

instantiating, on the computing device, a test blockchain container having read-only access to a production blockchain of a blockchain network;

instantiating, on the computing device, a production blockchain container having read-write access to the production blockchain, wherein the test blockchain container and the production blockchain container each comprise a software application that packages code and code dependencies in a logical packaging;

copying, by the test blockchain container, a set of blocks from the production blockchain to a test environment, thereby providing a test blockchain that includes the set of blocks from the production blockchain, the test blockchain container having read-write access to the test blockchain; and

executing a test of a blockchain application on the test blockchain in the test environment independent of a production environment of the blockchain network, wherein executing the test comprises generating, based at least on the set of blocks from the production blockchain that are in the test blockchain, a set of test blocks that each comprise test data and sequentially appending the test blocks to the test blockchain independent of the production blockchain and without appending the test blocks to the production blockchain, wherein during execution of the test of the blockchain application,

production blocks are independently appended to the production blockchain in parallel with the test blocks being appended to the test blockchain,

the test blockchain is modified without affecting the production blockchain and the production blockchain is modified without affecting the test blockchain, and

the production blockchain container interacts with the production blockchain in parallel with the test blockchain container executing operations of the test of the blockchain application.

14. The system of claim 13 , wherein the production blockchain container is blocked from accessing the test blockchain.

15. The system of claim 13 , wherein, during the test, a plurality of nodes execute a consensus protocol for appending the test blocks to the test blockchain, each node of the plurality of nodes maintaining a copy of the test blockchain.

16. The system of claim 13 , wherein operations further comprise:

deleting the test blocks appended to the test blockchain during the test; and

executing a second test resulting in a second set of test blocks being sequentially appended to the test blockchain.

17. The system of claim 13 , wherein operations further comprise, in response to ending of the test, terminating test blockchain containers for each node of a plurality of nodes participating in the test.

18. The system of claim 13 , wherein:

the computing device serves as a node on the blockchain network;

the production blockchain container executes applications to interact with the production blockchain; and

the read-only access to the production blockchain prevents the test blockchain container from writing to the production blockchain.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: JIN, GE; SHAO, KAILAI; QI, PENGTAO
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 049551/0960 →