IP Library Granted Patent US 10,764,032
Granted Patent B2
US 10,764,032 · App. 16/742,710 · Granted Sep 1, 2020

System and method for managing user interactions with a blockchain

Inventor: Shifeng Wang (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
H04L9/0637G06F8/20G06F16/903H04L9/0643H04L9/3247H04L2209/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 10,764,032
App. No.
16/742,710
Granted
Sep 1, 2020
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for obtaining blockchain information. One of the methods includes: receiving a user input in a command line interface (CLI), wherein the user input comprises a reference to one or more configurations and a reference to a blockchain; determining, by a command manager based on the user input, a blockchain-related operation and a command plug-in associated with the blockchain-related operation; generating, by the determined command plug-in, a command based on the determined operation and the one or more configurations; identifying a software development kit (SDK) associated with the referenced blockchain from a plurality of SDKs respectively associated with the plurality of blockchains; obtaining, by the identified SDK from one or more blockchain nodes associated with the referenced blockchain, information on the referenced blockchain that corresponds to the command; and providing the obtained information for display in the CLI.

Claims (85)

1. A computer-implemented method for obtaining blockchain information from a plurality of blockchains, the method comprising:

initializing components of a modular-structured console implemented in a computing device, wherein the components include a command line interface (CLI), a command manager, a plurality of command plug-ins, and a plurality of software development kits (SDKs), the plurality of SDKs respectively corresponding to the plurality of blockchains;

receiving, by the console, a user input in the CLI, wherein the user input comprises one or more configurations and a reference to one blockchain of the plurality of blockchains;

in response to the user input received, determining, by the command manager of the console, a blockchain-related operation and a command plug-in of the plurality of command plug-ins, the command plug-in determined corresponding to a type of command associated with the blockchain-related operation determined;

generating, by the command plug-in determined, a command based on the blockchain-related operation determined and the one or more configurations, wherein the command is among a plurality of commands pre-registered by the command manager to the CLI;

selecting, by the console based on the reference, an SDK from the plurality of SDKs, the SDK selected corresponding to the one blockchain;

sending, using the SDK selected, the command to one or more computing devices associating with the one blockchain;

obtaining, by the console using the selected SDK, information on the one blockchain; and

providing, by the console, the obtained information for display in the CLI.

2. The method of claim 1 , wherein the obtaining information on the one blockchain comprises:

obtaining information about occurrence of an event associated with the one blockchain, wherein the event is identified by the command.

3. The method of claim 1 , wherein the obtaining information on the one blockchain comprises:

obtaining information associated with a block in the one blockchain, wherein the block is identified by the command.

4. The method of claim 1 , wherein the initializing comprises:

starting a mainframe associated with the console;

generating, by the mainframe, an instance of the CLI;

initializing, by the CLI, one or more of the SDKs;

calling, by the CLI, the command manager; and

loading, by the command manager, the command plug-ins for registration into the instance of the CLI.

5. The method of claim 1 , wherein the components further comprise a tool manager configured to:

calculate a hash value;

calculate a digital signature; or

verify a blockchain transaction.

6. The method of claim 1 , wherein the CLI is configured to:

pre-process the user input;

provide a historical record of user inputs; or

provide a recommended command.

7. The method of claim 1 , wherein:

the command manager is configured to register or remove one or more of the plurality of commands.

8. The method of claim 7 , wherein:

the command manager is configured to provide, in the CLI, a list of registered commands and information about the registered commands.

9. The method of claim 1 , wherein the command plug-in determined comprises:

a transaction plug-in;

a block plug-in; or

an event plug-in.

10. The method of claim 9 , wherein the transaction plug-in is configured to generate:

a command for adding a blockchain transaction to the one blockchain;

a command for querying for information about one or more blockchain transactions associated with the one blockchain; or

a command for querying for information about one or more accounts associated with the one blockchain.

11. The method of claim 9 , wherein the block plug-in is configured to generate:

a command for querying for information about a block associated with the one blockchain; or

a command for querying for information about a block header associated with the one blockchain.

12. The method of claim 9 , wherein the event plug-in is configured to generate:

a command for subscribing to events related to a blockchain contract associated with the one blockchain;

a command for subscribing to events related to a block associated with the one blockchain;

a command for subscribing to events related to an account associated with the one blockchain; or

a command for subscribing to events related to a topic associated with the one blockchain.

13. A system for obtaining blockchain information from a plurality of blockchains, comprising a processor and a non-transitory computer-readable storage medium storing instructions executable by the processor to cause the system to perform operations comprising:

initializing components of a modular-structured console implemented in a computing device, wherein the components include a command line interface (CLI), a command manager, a plurality of command plug-ins, and a plurality of software development kits (SDKs), the plurality of SDKs respectively corresponding to the plurality of blockchains;

receiving, by the console, a user input in the CLI, wherein the user input comprises one or more configurations and a reference to one blockchain of the plurality of blockchains;

in response to the user input received, determining, by the command manager of the console, a blockchain-related operation and a command plug-in of the plurality of command plug-ins, the command plug-in determined corresponding to a type of command associated with the blockchain-related operation determined;

generating, by the command plug-in determined, a command based on the blockchain-related operation determined and the one or more configurations, wherein the command is among a plurality of commands pre-registered by the command manager to the CLI;

selecting, by the console based on the reference, an SDK from the plurality of SDKs, the SDK selected corresponding to the one blockchain;

sending, using the SDK selected, the command to one or more computing devices associating with the one blockchain;

obtaining, by the console using the selected SDK, information on the one blockchain; and

providing, by the console, the obtained information for display in the CLI.

14. The system of claim 13 , wherein the obtaining information on the one blockchain comprises:

obtaining information about occurrence of an event associated with the one blockchain, wherein the event is identified by the command.

15. The system of claim 13 , wherein the obtaining information on the one blockchain comprises:

obtaining information associated with a block in the one blockchain, wherein the block is identified by the command.

16. The system of claim 13 , wherein the initializing comprises:

starting a mainframe associated with the console;

generating, by the mainframe, an instance of the CLI;

initializing, by the CLI, one or more of the SDKs;

calling, by the CLI, the command manager; and

loading, by the command manager, the command plug-ins for registration into the instance of the CLI.

17. A non-transitory computer-readable storage medium for obtaining blockchain information from a plurality of blockchains, configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

initializing components of a modular-structured console implemented in a computing device, wherein the components include a command line interface (CLI), a command manager, a plurality of command plug-ins, and a plurality of software development kits (SDKs), the plurality of SDKs respectively corresponding to the plurality of blockchains;

receiving, by the console, a user input in the CLI, wherein the user input comprises a reference to one or more configurations and a reference to one blockchain of the plurality of blockchains;

in response to the user input received, determining, by the command manager of the console, a blockchain-related operation and a command plug-in of the plurality of command plug-ins, the command plug-in determined corresponding to a type of command associated with the blockchain-related operation determined;

generating, by the command plug-in determined, a command based on the blockchain-related operation determined and the one or more configurations, wherein the command is among a plurality of commands pre-registered by the command manager to the CLI;

selecting, by the console based on the reference, an SDK from the plurality of SDKs, the SDK selected corresponding to the one blockchain;

sending, using the SDK selected, the command to one or more computing devices associating with the one blockchain;

obtaining, by the console using the selected SDK, information on the one blockchain; and

providing, by the console, the obtained information for display in the CLI.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the obtaining information on the one blockchain comprises:

obtaining information about occurrence of an event associated with the one blockchain, wherein the event is identified by the command.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the obtaining information on the one blockchain comprises:

obtaining information associated with a block in the one blockchain, wherein the block is identified by the command.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the initializing comprises:

starting a mainframe associated with the console;

generating, by the mainframe, an instance of the CLI;

initializing, by the CLI, one or more of the SDKs;

calling, by the CLI, the command manager; and

loading, by the command manager, the command plug-ins for registration into the instance of the CLI.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053796/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053702/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2020
From: WANG, SHIFENG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051513/0521 →
Continuity (2)
Continuation 16496342
Related Publication 20200153608A1 · May 14, 2020