CN110599183B - Intelligent contract calling method and device and storage medium - Google Patents

Intelligent contract calling method and device and storage medium Download PDF

Info

Publication number
CN110599183B
CN110599183B CN201910931373.3A CN201910931373A CN110599183B CN 110599183 B CN110599183 B CN 110599183B CN 201910931373 A CN201910931373 A CN 201910931373A CN 110599183 B CN110599183 B CN 110599183B
Authority
CN
China
Prior art keywords
node
intelligent contract
control information
execution control
block chain
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.)
Active
Application number
CN201910931373.3A
Other languages
Chinese (zh)
Other versions
CN110599183A (en
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910931373.3A priority Critical patent/CN110599183B/en
Publication of CN110599183A publication Critical patent/CN110599183A/en
Application granted granted Critical
Publication of CN110599183B publication Critical patent/CN110599183B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Development Economics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The application provides an intelligent contract calling method, an intelligent contract calling device and a storage medium, wherein the method comprises the following steps: injecting delayed execution control information or repeated execution control information into a target blockchain, the target blockchain comprising at least one node; deploying intelligent contracts into each node, wherein the intelligent contracts comprise money transfer-in and transfer-out rules or variable addition and subtraction operation rules; running the delayed execution control information or the repeated execution control information in the process of calling the intelligent contract by each node; controlling each node to delay or repeatedly call the intelligent contract according to the delay execution control information or the repeated execution control information; and according to the result of delaying or repeatedly calling the intelligent contract by each node, obtaining contract verification information, node verification information and block chain function verification information corresponding to each node. The method and the device can enable each node to call the intelligent contract out of order under the condition that the source code of the block chain is not changed.

Description

Intelligent contract calling method and device and storage medium
The invention relates to a method, a device, equipment and a storage medium for detecting consistency of intelligent contract calling, and aims at division application with the application number of 201910536533.4, the application date of 2019, 6 and 20.
Technical Field
The application belongs to the technical field of computers, and particularly relates to a consistency detection method, device, equipment and storage medium for intelligent contract calling.
Background
The block chain is a chain data structure formed by combining data blocks in a sequential connection mode according to a time sequence, and is a distributed account book which is guaranteed in a cryptographic mode and cannot be tampered and forged.
Smart contracts are a computer protocol intended to propagate, validate or execute contracts in an informational manner, allowing trusted transactions to be conducted without third parties, which transactions are traceable and irreversible, and in a blockchain environment, smart contracts appear as executable code. The block chain has the characteristics of decentralization, non-tampering and high availability, so that the intelligent contract is written into the block chain in a digitalized form, and the transparent tracking and non-tampering of the whole process of storing, reading and executing the intelligent contract can be guaranteed.
When high-concurrency intelligent contract calling is carried out, the execution sequence of each node of a block chain executing an intelligent contract is possibly in a disordered execution condition, so that the condition that the execution sequence of each node is different in the whole block chain network is reflected, which is equivalent to intelligent contract disordered calling, the consistency condition of each node after the intelligent contract disordered calling has a large influence on the whole block chain network, but the research on the consistency of the high-concurrency disordered intelligent contract calling of each node of the block chain in the prior art is less.
Disclosure of Invention
In order to detect the consistency of high-concurrency out-of-order intelligent contract calling of each node, the application provides a consistency detection method, a device, equipment and a storage medium for intelligent contract calling.
In one aspect, the present application provides a method for consistency detection of intelligent contract invocation, where the method includes:
acquiring a target block chain, wherein the target block chain comprises at least one node;
injecting out-of-order control information into original data content corresponding to the target block chain in a mode of facing to section programming;
deploying an intelligent contract into each node, wherein the intelligent contract comprises a resource transfer rule or a variable operation rule;
controlling each node to call the intelligent contracts out of order through the out-of-order control information to obtain intelligent contract out-of-order calling results corresponding to the nodes;
and determining the consistency detection result of the intelligent contract out-of-order calling based on the obtained intelligent contract out-of-order calling result corresponding to each node.
On the other hand, the application provides a consistency detection device for intelligent contract invocation, the device includes:
a target block chain obtaining module, configured to obtain a target block chain, where the target block chain includes at least one node;
the disorder control information injection module is used for injecting disorder control information into the original data content corresponding to the target block chain in a mode of facing to section programming;
the intelligent contract deployment module is used for deploying an intelligent contract into each node, and the intelligent contract comprises a resource transfer rule or a variable operation rule;
the disorder calling result acquisition module is used for controlling each node to call the intelligent contract in a disorder manner through the disorder control information to obtain an intelligent contract disorder calling result corresponding to the node;
and the consistency detection result determining module is used for determining the consistency detection result of the intelligent contract out-of-order calling based on the obtained intelligent contract out-of-order calling result corresponding to each node.
In another aspect, the present application provides an electronic device, including: a processor and a memory having stored therein at least one instruction, at least one program, set of codes, or set of instructions that is loaded and executed by the processor to implement the smart contract invoked consistency detection method as described above.
In another aspect, the present application provides a computer-readable storage medium having at least one instruction, at least one program, a set of codes, or a set of instructions stored therein, which is loaded and executed by a processor to implement the consistency detection method invoked by an intelligent contract as described above.
The method, the device, the equipment and the storage medium for detecting the consistency of the intelligent contract ensure that the disordering control code is injected into the source code of the block chain without changing the source code of the block chain service in a way of facing to the section programming, then the intelligent contract comprising the resource transfer rule or the variable operation rule is deployed in each node, the situation of disordering, repeating or delaying execution of each thread of each node is realized when the intelligent contract is executed at high concurrency, then the intelligent contract disordering calling result corresponding to each node is checked, and finally the consistency of the intelligent contract is called at high concurrency by each node of the block chain based on the intelligent contract disordering calling result corresponding to each node is verified, so that the contract consistency of the intelligent contract called at disordering by each node is checked without changing the source code of the block chain, the defects and risks of block chain products are reduced, and the accuracy of the consistency detection result of the out-of-order calling of the intelligent contracts is guaranteed.
Drawings
In order to more clearly illustrate the technical solutions and advantages of the embodiments of the present application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative efforts.
Fig. 1 is a system architecture diagram of a consistency detection system for intelligent contract invocation provided by an embodiment of the present application.
Fig. 2 is a schematic flowchart of a method for detecting consistency of an intelligent contract invocation according to an embodiment of the present application.
Fig. 3 is a schematic flowchart of injecting out-of-order control information into original data content corresponding to the target block chain in a facet-oriented programming manner according to an embodiment of the present disclosure.
FIG. 4 is a schematic diagram of writing, compiling, and deploying AOP out-of-order control code provided by an embodiment of the present application.
Fig. 5 is a schematic flow chart illustrating the deployment of an intelligent contract into each node according to an embodiment of the present application, where the intelligent contract includes a resource transfer rule or a variable operation rule.
Fig. 6 is a flowchart illustrating that each node is controlled to call the intelligent contracts out of order by the out-of-order control information to obtain an intelligent contract out-of-order call result corresponding to the node according to the embodiment of the present application.
FIG. 7 is a diagram illustrating the money transfers and the disposition results of the addition and subtraction operations of the variables according to the embodiment of the present application.
Fig. 8 is a view of the account balance of the intelligent contract or the value of the variable stored in the intelligent contract according to the embodiment of the present application.
Fig. 9 is a flowchart illustrating the determination of the consistency detection result of the intelligent contract out-of-order call based on the obtained intelligent contract out-of-order call result corresponding to each node according to the embodiment of the present application.
Fig. 10 is a working schematic diagram of a consistency detection method invoked by an intelligent contract according to an embodiment of the present application.
Fig. 11 is a schematic structural diagram of a consistency detection apparatus for intelligent contract invocation according to an embodiment of the present application.
Fig. 12 is a schematic structural diagram of a server according to an embodiment of the present application.
Detailed Description
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only partial embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the application described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or server that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The blockchain is an end-to-end decentralized network formed by a plurality of nodes, each node is allowed to obtain a complete database copy, and the nodes maintain the whole blockchain based on a set of consensus mechanism. Fig. 1 is a system architecture diagram of an intelligent contract invoking consistency detection system provided in this embodiment of the present application, where the intelligent contract invoking consistency detection system may serve as an implementation environment for invoking an intelligent saving consistency detection method, and as shown in fig. 1, the system architecture 110 may include distributed nodes 111, 112, 113, 114, 115, and 116, where each distributed node may be connected by a communication link, for example, may be connected by a wired communication link or a wireless communication link, and multiple distributed nodes jointly form a block chain network. The user may be interconnected with the server 130 through the client 120, and both may also access the corresponding node via the network.
It should be understood that the number of distributed nodes depicted in fig. 1 is merely illustrative, and that there may be any number of distributed nodes, as desired for an implementation.
In one embodiment, the server 130 may respond to the intelligent contract invocation request received by the client 120 and then make an invocation to the intelligent contract by each node ( distributed nodes 111, 112, 113, 114, 115, and 116).
Fig. 2 is a flowchart of a consistency detection method invoked by an intelligent contract according to an embodiment of the present application, and the present specification provides the method operation steps as described in the embodiment or the flowchart, but may include more or less operation steps based on conventional or non-creative labor. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. In practice, the system or server product may be implemented in a sequential or parallel manner (e.g., parallel processor or multi-threaded environment) according to the embodiments or methods shown in the figures. Specifically, as shown in fig. 2, the method may include:
s201, obtaining a target block chain, wherein the target block chain comprises at least one node.
In the embodiment of the present disclosure, it is first required to determine a target blockchain, which may be a blockchain network composed of nodes 111, 112, 113, 114, 115, and 116 in fig. 1.
And S203, injecting out-of-order control information into the original data content corresponding to the target block chain in a way of oriented section programming.
In this embodiment of the present specification, an out-of-order control code, that is, an AOP out-of-order control code, may be injected into an operation flow of a block chain in an Aspect-Oriented Programming (AOP) manner, and specifically, as shown in fig. 3, the injecting out-of-order control information into original data content corresponding to the target block chain in the Aspect-Oriented Programming manner may include:
s301, creating the out-of-order control information in a mode of oriented to section programming, wherein the out-of-order control information comprises delayed execution control information or repeated execution control information.
In this embodiment of the present specification, it is first necessary to write an AOP out-of-order control code, where the AOP out-of-order control code may include a delayed execution control code or a repeated execution control code, so that control is performed before and after the execution of the intelligent contract method, and the delayed or repeated execution thread out-of-order behavior is randomly added. The delayed execution control code may further include a random delay control code or a fixed delay control code, the random delay control code is used for controlling the intelligent contract to be randomly delayed for a period of time, the fixed delay control code is used for controlling the intelligent contract to be fixedly delayed for a period of time, the repeated execution control code may further include a random repeated execution code or a fixed repeated execution control code, the random repeated execution code is used for controlling the intelligent contract to be randomly and repeatedly executed for a certain number of times, and the fixed repeated execution code is used for controlling the intelligent contract to be fixedly executed for a certain number of times.
And S303, compiling the out-of-order control information.
In this embodiment of the present description, after writing the AOP out-of-order control code, the AOP out-of-order control code and the original data content corresponding to the block chain may be compiled, where the original data content corresponding to the block chain is the source code of the block chain. The compilation process may be performed by a compiler, which may be a compiler supporting AOP compilation, such as Aspectj compiler, which is a cut-plane oriented framework that extends the Java language, Aspectj defines the AOP syntax and has a specialized compiler to generate a Class file that complies with the Java byte coding specification. Where Java is a door-oriented object-programming language and Class is a prototype that defines variables and methods for a certain type of object.
S305, determining a cut-in position of the disorder control information in the original data content.
And S307, injecting the compiled disorder control information into the original data content according to the cut-in position.
In this embodiment of the present specification, in a process of compiling a source code of a target block chain, the source code may be first analyzed to determine a cut-in position where an AOP out-of-order control code needs to be injected, and then the compiled AOP out-of-order control code is inserted into the source code according to the cut-in position. Specifically, a schematic diagram of writing, compiling and deploying the AOP out-of-order control code is shown in fig. 4.
In one possible embodiment, after the AOP out-of-order control code is injected into the source code of the blockchain, modification of the AOP out-of-order control code becomes less easy, but many times, writing of the AOP out-of-order control code is not perfect, requiring modification of the AOP out-of-order control code initially injected into the source code according to actual operating requirements. In order to prevent the AOP out-of-order control code from being written dead and incapable of being modified conveniently, so that the requirements of random delay or fixed delay and random repetition times or fixed repetition times cannot be met, the design of the AOP out-of-order control code can be interacted with a shared memory Redis, and the AOP out-of-order control code can be controlled conveniently through an external script. Among them, Redis is a high performance distributed storage database. For example, if a certain execution needs to be repeatedly executed N times, where N is an integer greater than or equal to 1, the corresponding value in Redis modified, so that the AOP out-of-order control code is modified, and thus the intelligent contract can be repeatedly called according to the modified repeated execution times. For another example, if a certain execution requires a fixed delay for a period of time, the AOP out-of-order control code may be modified by modifying a corresponding value in Redis, so that the intelligent processor may perform the fixed delay execution for a period of time according to the modified fixed execution time, and perform other operations after a period of time.
In this embodiment of the present specification, by using the AOP control information, it is ensured that a source code of a blockchain service is not changed, and a control code is injected into an intelligently saved operation flow of a blockchain, so as to implement a situation that each thread controlling each node is out of order, repeated, or delayed in execution when an intelligent contract is executed. In addition, the AOP out-of-order control code can be controlled through an external script, so that the convenient control of the AOP out-of-order control code is improved, and the random or fixed delay, random repetition or fixed repetition requirements are conveniently realized. The lower product defects and risks of the block chain products, the higher maintainability of the block chain source codes and the convenient control of the AOP out-of-order control codes can provide guarantee for the consistency detection of the out-of-order calling of the intelligent contracts, so that the accuracy of the consistency detection result of the out-of-order calling of the intelligent contracts is ensured.
S205, intelligent contracts are deployed into each node, and the intelligent contracts comprise resource transfer rules or variable operation rules.
In the embodiment of the specification, in order to verify the consistency of the out-of-order calling of the intelligent contracts, the intelligent contracts are required to be deployed into each node, and the intelligent contracts can comprise at least one of resource transfer rules or variable operation rules.
In one possible embodiment, the resource transfer rules may include rules for transferring money in, out, which may be virtual money or digital money, etc.
In a possible embodiment, the variable operation rule may include an addition and subtraction operation rule of variables, the variables are classified according to their action ranges, may include global variables, local variables, and the like, and are classified according to storage occupation space, and may include integer variables, and the integer variables may further include long integer variables, short integer variables, character variables, floating point variables, and the like.
In this embodiment, before deploying an intelligent contract to each node, the intelligent contract code needs to be written, where the intelligent contract code is a code for running a currency transfer-in rule and a currency transfer-out rule or a code for running an addition or subtraction operation of a variable, and then the intelligent contract code is compiled, deployed, and issued to each node of a block chain that has been deployed.
Specifically, as shown in fig. 5, deploying an intelligent contract into each node, where the intelligent contract includes a resource transfer rule or a variable operation rule, and may include:
s501, creating the intelligent contract; the resource transfer rules comprise money transfer-in and transfer-out rules, and the variable operation rules comprise variable addition and subtraction operation rules.
And S503, compiling the intelligent contract.
And S505, deploying the compiled intelligent contracts into each node.
And S207, controlling each node to call the intelligent contracts out of order through the out-of-order control information to obtain intelligent contract out-of-order calling results corresponding to the nodes.
In practical application, a package sending script is compiled, a user can send a calling request (such as a transfer request and an addition and subtraction request) to each node, after each node receives the request of the user, various methods in an intelligent contract can be called with higher concurrency, for example, transfer to the intelligent saving mode, transfer the intelligent contract to the outside, add variables stored in the intelligent contract or subtract variables stored in the intelligent contract, and the like, and meanwhile, various methods in the intelligent contract are executed out of order on each node under the control of an AOP (automatic optic line) out-of-order control code, for example, whether to start out-of-order execution operation of the nodes, random or fixed delay, random or fixed repeated execution and the like.
Specifically, as shown in fig. 6, the controlling, by the out-of-order control information, each node to invoke the intelligent contract out-of-order to obtain an intelligent contract out-of-order invocation result corresponding to the node may include:
s601, in the process of calling the intelligent contract by each node, operating the delayed execution control information or the repeated execution control information.
In the embodiment of the present specification, a step of whether to start out-of-order operation of nodes may be set, for example, in the process of calling an intelligent contract by each node, when out-of-order control is required, the out-of-order execution operation of the nodes may be started, so that flexibility and controllability of consistency detection of the out-of-order calling of the intelligent contract are improved.
S603, controlling each node to delay or repeatedly execute at least one of a first operation, a second operation, a third operation or a fourth operation based on the delayed execution control information or the repeated execution control information; the first operation is an operation of transferring money of an external account into the intelligent contract corresponding to the node, the second operation is an operation of transferring money in the intelligent contract corresponding to the node out of the external account, the third operation is an operation of adding variables stored in the intelligent savings corresponding to the node, and the fourth operation is an operation of subtracting variables stored in the intelligent contract corresponding to the node.
In the embodiment of the present specification, after the out-of-order execution operation of the nodes is started, the AOP out-of-order control code may control each node to delay or repeatedly execute the money transfer-in and transfer-out operations, or the addition and subtraction operations of the variables stored in the intelligent contract. The deployment result diagram of the money transfer and the addition and subtraction operations of the variables may be as shown in fig. 7, where add in fig. 7 represents add, minus represents subtract, int256 addnum represents an addition function of a 256-bit integer, int256 minusnum represents a subtraction function of the 256-bit integer, and transfer represents a resource transfer.
In practical applications, the external account refers to an account outside the blockchain, one account exists in the intelligent contract of each node, the account existing in the intelligent contract is equivalent to an internal account, and the account existing outside the blockchain is an external account, such as an account of an external user.
In this embodiment of the present specification, after each node highly concurrently invokes the intelligent contract, an intelligent contract out-of-order invocation result corresponding to the node may be obtained from each node, where the intelligent contract out-of-order invocation result may include contract verification information, node verification information, and block chain function verification information, where the contract verification information is used to measure a change of the intelligent contract, the node verification information is used to measure a change of each node, and the block chain function verification information is used to measure a capability of each node to continue to execute a block chain operation. Different out-of-order calling results are obtained from all dimensions, so that the accuracy and the reliability of consistency detection of intelligent contract out-of-order calling can be obviously improved.
S605, obtaining the account balance of the intelligent contract corresponding to each node or the numerical value of the variable stored in the intelligent contract from each node, and obtaining contract verification information corresponding to the node.
In one possible embodiment, the contract verification information may be obtained by calling a contract getteam method and a getNum method from each node to statically read an account balance of the smart contract, a value of a variable stored in the smart contract, and the like. Wherein, getBank method refers to a method of acquiring balance, and getNum method is a method of acquiring stored variable value. The view result diagram of the account balance of the intelligent contract or the value of the variable stored in the intelligent contract may be as shown in fig. 8, where the account balance of the intelligent contract of a certain node is 99990, and the value of the stored variable is 121.
In a possible embodiment, the query method can be declared in a view manner to obtain the account balance of the intelligent contract, the numerical value of the variable stored in the intelligent contract, and the like, wherein the view manner declares the query method to be a method for local search. By adopting the view mode statement query method, the balance and the stored variable value can be checked only through the local node (namely the node in the target block chain), and the check cannot be known from the network, so that the searched data is ensured to be based on the local node of the block chain instead of being acquired from other nodes, and the efficiency and the accuracy of acquiring the intelligent contract account balance and the stored variable value are ensured.
S607, at least one of the balance of the external account corresponding to the node, the height of the block chain or the transaction times is obtained from each node, and node verification information corresponding to the node is obtained.
In a possible embodiment, the node verification information may be obtained by reading information such as a balance of an external account corresponding to each node, a height of a blockchain corresponding to each node, and a transaction number of each node from each node.
And S609, acquiring log record information corresponding to the node from each node to obtain block chain function verification information corresponding to the node, wherein the block chain function verification information represents whether the node has the capacity of continuously calling the intelligent contract.
In one possible embodiment, the obtaining of the block chain function verification information may include:
and acquiring the log record information corresponding to each node from each node.
And judging whether the log record information is abnormal or not.
And when log record information corresponding to the node is not abnormal, obtaining block chain function verification information representing the capability of the node for continuously calling the intelligent contract.
And when the log record information corresponding to the node is abnormal, obtaining block chain function verification information representing that the node does not have the capability of continuously calling the intelligent contract.
In practical applications, the ability to continue invoking the intelligent contract may be understood as continuing to perform blockchain operations (initiating transaction information to blockchain, etc. is normal).
S209, determining a consistency detection result of the intelligent contract out-of-order calling based on the obtained intelligent contract out-of-order calling result corresponding to each node.
In the embodiment of the description, when the intelligent contract out-of-order calling result is obtained, the intelligent contract out-of-order calling result needs to be analyzed, so that the consistency detection result of the intelligent contract out-of-order calling is determined.
In a possible embodiment, when the contract verification information, the node verification information and the blockchain function verification information of each node are all consistent, and each node has the capability of continuously calling the intelligent contract, the consistency detection of the intelligent contract out-of-order calling is considered to be passed, otherwise, the consistency detection of the intelligent contract out-of-order calling is considered to be not passed. For example, as shown in fig. 1, if there are 6 nodes in the blockchain network, when the contract verification information, the node verification information, and the blockchain function verification information in the 6 nodes are all consistent, and the 6 nodes all have the capability of continuing to invoke the intelligent contract, it is considered that the consistency detection invoked out of order by the intelligent contract is passed.
In a feasible embodiment, in order to improve the efficiency of consistency detection of intelligent contract out-of-order calling, the consistency detection of intelligent contract out-of-order calling can be determined without the fact that data of each node is identical, and on the premise that network consensus is not affected, as long as the data of a preset number of nodes are identical, for example, the data of 2/3 nodes are identical, and 2/3 nodes have the capability of continuously calling the intelligent contract, each node can be considered to pass the consistency detection, otherwise, the consistency detection is not considered to pass. For example, as shown in fig. 1, a total of 6 nodes in the blockchain network, when the contract verification information, the node verification information, and the blockchain function verification information of 4 nodes (e.g., nodes 111, 112, 114, 116) in the 6 nodes are all consistent, and the 4 nodes all have the capability of continuing to invoke the intelligent contract, it is considered that each node passes the consistency detection invoked out of order by the intelligent contract.
Specifically, as shown in fig. 9, the determining a consistency detection result of the intelligent contract out-of-order call based on the obtained intelligent contract out-of-order call result corresponding to each node may further include:
and S901, obtaining the contract verification information and the nodes with consistent node verification information to obtain a target node set.
And S903, when the number of the target nodes is larger than a preset threshold value and the block chain function verification information of each target node indicates that the target nodes have the capacity of continuously calling the intelligent contracts, determining the consistency detection of the disordered calling of the intelligent contracts.
S905, when the number of the target nodes is smaller than or equal to the preset threshold value, determining that the consistency detection of the out-of-order calling of the intelligent contracts does not pass.
Fig. 10 is a schematic diagram illustrating a working principle of a method for detecting consistency of intelligent contract invocation according to an embodiment of the present application, and as shown in fig. 10, a random or fixed delay and a random or fixed repetitive AOP out-of-order control code are first injected into a source code corresponding to a block chain, then an intelligent contract including an addition and subtraction operation of a money transfer-in/out and/or storage variable is injected into each node in the block chain, and after each node receives a call request from an external user, each node starts invoking the intelligent contract, and at the same time, a node out-of-order execution operation is started to control each node to delay or repeat the addition and subtraction operation of the money transfer-in, transfer-out and/or storage variable, so as to obtain a contract account, a value of the storage variable in the contract, a balance, a block chain height, a transaction number corresponding to each node, and a value of the balance in the contract, a balance, an external account balance, a block chain height, and a transaction number corresponding to each node, And recording log and other out-of-order calling results, and finally judging whether all the data of a preset number of nodes are consistent, wherein the preset number of nodes can have the capability of continuously executing the block chain operation, if so, the consistency detection result of the out-of-order calling of the intelligent contract by each node of the block chain is considered to be passed, and otherwise, the consistency detection result is considered to be not passed. In the application, because AOP control technology has the advantage of not changing the source code, the defects and risks of block chain products can be reduced, the maintainability of the block chain source code is ensured, in addition, the intelligent contracts are concurrently called from different dimensionalities, so that the out-of-order calling results of different dimensionalities are obtained, and the accuracy and the reliability of the consistency detection of the out-of-order calling of the intelligent contracts can be obviously improved.
An embodiment of the present application further provides a consistency detection apparatus for intelligent contract invocation, as shown in fig. 11, the apparatus may include:
a target block chain obtaining module 1101, configured to obtain a target block chain, where the target block chain includes at least one node.
An out-of-order control information injection module 1103, configured to inject out-of-order control information into the original data content corresponding to the target block chain in a way of facet-oriented programming.
An intelligent contract deploying module 1105, configured to deploy an intelligent contract into each node, where the intelligent contract includes a resource transfer rule or a variable operation rule.
The out-of-order calling result obtaining module 1107 is configured to control each node to call the intelligent contract out of order through the out-of-order control information, so as to obtain an intelligent contract out-of-order calling result corresponding to the node.
And the consistency detection result determining module 1109 is configured to determine a consistency detection result of the intelligent contract out-of-order calling based on the obtained intelligent contract out-of-order calling result corresponding to each node.
In one possible embodiment, the out-of-order control information injection module 1103 may include:
and the disorder control information creating unit is used for creating the disorder control information in a mode of oriented to section programming, and the disorder control information comprises delayed execution control information or repeated execution control information.
And the disorder control information compiling unit is used for compiling the disorder control information.
And the cut-in position determining unit is used for determining the cut-in position of the disorder control information in the original data content.
And the injection unit is used for injecting the compiled disorder control information into the original data content according to the cut-in position.
In one possible embodiment, the intelligent contract deployment module 1105 may include:
an intelligent economy creating unit for creating the intelligent contract; the resource transfer rules comprise money transfer-in and transfer-out rules, and the variable operation rules comprise variable addition and subtraction operation rules.
And the intelligent contract compiling unit is used for compiling the intelligent contract.
And the deployment unit is used for deploying the compiled intelligent contract into each node.
In a possible embodiment, the out-of-order call result obtaining module 1107 may include:
and the operation unit is used for operating the delayed execution control information or the repeated execution control information in the process of calling the intelligent contract by each node.
A delay or repeat execution unit configured to control each node to delay or repeat execution of at least one of a first operation, a second operation, a third operation, or a fourth operation based on the delay execution control information or the repeat execution control information; the first operation is an operation of transferring money of an external account into the intelligent contract corresponding to the node, the second operation is an operation of transferring money in the intelligent contract corresponding to the node out of the external account, the third operation is an operation of adding variables stored in the intelligent savings corresponding to the node, and the fourth operation is an operation of subtracting variables stored in the intelligent contract corresponding to the node.
And the contract verification information acquisition unit is used for acquiring the account balance of the intelligent contract corresponding to the node or the numerical value of the variable stored in the intelligent contract from each node to obtain the contract verification information corresponding to the node.
And the node verification information acquisition unit is used for acquiring at least one of balance of an external account, height of a block chain or transaction times corresponding to the node from each node to obtain node verification information corresponding to the node. Specifically, when log record information corresponding to the node is not abnormal, block chain function verification information representing that the node has the capability of continuously invoking the intelligent contract is obtained, and when the log record information corresponding to the node is abnormal, block chain function verification information representing that the node does not have the capability of continuously invoking the intelligent contract is obtained.
And the block chain function verification information acquisition unit is used for acquiring log record information corresponding to the node from each node to obtain block chain function verification information corresponding to the node, and the block chain function verification information represents whether the node has the capacity of continuously calling the intelligent contract.
In one possible embodiment, the consistency detection result determining module 1109 may include:
and the target node set acquisition unit is used for acquiring the contract verification information and the nodes with the consistent node verification information to obtain a target node set.
And the detection result judging unit is used for determining consistency detection of the intelligent contract out-of-order calling when the number of the target nodes is larger than a preset threshold value and the block chain function verification information of each target node indicates that the target nodes have the capacity of continuously calling the intelligent contract, and determining consistency detection of the intelligent contract out-of-order calling when the number of the target nodes is smaller than or equal to the preset threshold value.
The embodiment of the present application further provides an electronic device for invoking the intelligent and economical consistency detection method, where the electronic device includes a processor and a memory, where the memory stores at least one instruction, at least one program, a code set, or an instruction set, and the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by the processor to implement the consistency detection method invoked by the intelligent contract provided in the above method embodiment.
Embodiments of the present application further provide a storage medium, which may be disposed in a terminal to store at least one instruction, at least one program, a code set, or a set of instructions related to a consistency detection method for implementing an intelligent contract invocation in the method embodiments, where the at least one instruction, the at least one program, the code set, or the set of instructions are loaded and executed by the processor to implement the consistency detection method for intelligent contract invocation provided by the above method embodiments.
Alternatively, in the present specification embodiment, the storage medium may be located at least one network server among a plurality of network servers of a computer network. Optionally, in this embodiment, the storage medium may include, but is not limited to: various media capable of storing program codes, such as a usb disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk.
The memory described in the embodiments of the present disclosure may be used to store software programs and modules, and the processor may execute various functional applications and data processing by operating the software programs and modules stored in the memory. The memory can mainly comprise a program storage area and a data storage area, wherein the program storage area can store an operating system, application programs needed by functions and the like; the storage data area may store data created according to use of the apparatus, and the like. Further, the memory may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. Accordingly, the memory may also include a memory controller to provide the processor access to the memory.
The consistency detection method of the intelligent contract provided by the embodiment of the application can be executed in a mobile terminal, a computer terminal, a server or a similar operation device. Taking the example of running on a server, fig. 12 is a hardware structure block diagram of the server of the consistency detection method for an intelligent contract according to the embodiment of the present application. As shown in fig. 12, the server 1200 may have a relatively large difference due to different configurations or performances, and may include one or more Central Processing Units (CPUs) 1210 (the processors 1210 may include but are not limited to Processing devices such as a microprocessor MCU or a programmable logic device FPGA), a memory 1230 for storing data, and one or more storage media 1220 (e.g., one or more mass storage devices) for storing applications 1223 or data 1222. Memory 1230 and storage media 1220, among other things, may be transient storage or persistent storage. The program stored in the storage medium 1220 may include one or more modules, each of which may include a series of instruction operations for a server. Further, the central processor 1210 may be configured to communicate with the storage medium 1220, and execute a series of instruction operations in the storage medium 1220 on the server 1200. The server 1200 may also include one or more power supplies 1260, one or more wired or wireless network interfaces 1250, one or more input-output interfaces 1240, and/or one or more operating systems 1221, such as Windows Server, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, and so forth.
The input/output interface 1240 may be used to receive or transmit data via a network. The specific example of the network described above may include a wireless network provided by a communication provider of the server 1200. In one example, the input/output Interface 1240 includes a Network Interface Controller (NIC) that may be coupled to other Network devices via a base station to communicate with the internet. In one example, the input/output interface 1240 may be a Radio Frequency (RF) module, which is used to communicate with the internet in a wireless manner.
It will be understood by those skilled in the art that the structure shown in fig. 12 is only an illustration and is not intended to limit the structure of the electronic device. For example, server 1200 may also include more or fewer components than shown in FIG. 12, or have a different configuration than shown in FIG. 12.
It should be noted that: the sequence of the embodiments of the present application is only for description, and does not represent the advantages and disadvantages of the embodiments. And specific embodiments thereof have been described above. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, as for the device and server embodiments, since they are substantially similar to the method embodiments, the description is simple, and the relevant points can be referred to the partial description of the method embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (10)

1. An intelligent contract invocation method, characterized in that the method comprises:
creating delayed execution control information or repeated execution control information in a mode of facing to section programming; compiling the delayed execution control information or the repeated execution control information; determining a cut-in position of the delayed execution control information or the repeated execution control information in original data content corresponding to a target block chain; injecting the compiled delayed execution control information or the compiled repeated execution control information into the original data content according to the cut-in position; the target block chain comprises at least one node;
deploying intelligent contracts into each node, wherein the intelligent contracts comprise money transfer-in and transfer-out rules or variable addition and subtraction operation rules;
running the delayed execution control information or the repeated execution control information in the process of calling the intelligent contract by each node;
controlling each node to delay or repeatedly call the intelligent contract according to the delay execution control information or the repeated execution control information;
and according to the result of delaying or repeatedly calling the intelligent contract by each node, obtaining contract verification information, node verification information and block chain function verification information corresponding to each node.
2. The method of claim 1, wherein the controlling each node to delay or repeatedly invoke the smart contract according to the delayed execution control information or the repeated execution control information comprises:
controlling each node to delay or repeatedly perform at least one of a first operation, a second operation, a third operation, or a fourth operation according to the delayed execution control information or the repeated execution control information;
the first operation is an operation of transferring money of an external account into the intelligent contract corresponding to the node, the second operation is an operation of transferring money in the intelligent contract corresponding to the node out of the external account, the third operation is an operation of adding variables stored in the intelligent savings corresponding to the node, and the fourth operation is an operation of subtracting variables stored in the intelligent contract corresponding to the node.
3. The method according to claim 2, wherein obtaining contract verification information, node verification information, and block chain function verification information corresponding to each node according to a result of delaying or repeatedly invoking the intelligent contract by each node comprises:
acquiring account balance of an intelligent contract corresponding to each node or a numerical value of a variable stored in the intelligent contract from each node to obtain contract verification information corresponding to each node;
acquiring at least one of balance of an external account, height of a block chain or transaction times corresponding to each node from each node to obtain node verification information corresponding to the node;
and acquiring log record information corresponding to each node from each node to obtain block chain function verification information corresponding to the node, wherein the block chain function verification information represents whether the node has the capacity of continuously calling the intelligent contract.
4. The method according to claim 3, wherein the obtaining log record information corresponding to the node from each node to obtain blockchain function verification information corresponding to the node, the blockchain function verification information characterizing whether the node has the capability of continuing to invoke the intelligent contract, comprises:
when log record information corresponding to the node is not abnormal, block chain function verification information representing the capability of the node for continuously calling the intelligent contract is obtained;
and when the log record information corresponding to the node is abnormal, obtaining block chain function verification information representing that the node does not have the capability of continuously calling the intelligent contract.
5. The method according to claim 1, wherein deploying an intelligent contract into each node, the intelligent contract comprising an in-and out-transfer rule of money or an addition and subtraction operation rule of a variable, comprises:
creating the intelligent contract;
compiling the intelligent contract;
and deploying the compiled intelligent contracts into each node.
6. An intelligent contract invocation apparatus, characterized in that said apparatus comprises:
an out-of-order control information injection module, configured to inject delayed execution control information or repeated execution control information into a target block chain, where the target block chain includes at least one node; the out-of-order control information injection module comprises: an out-of-order control information creating unit configured to create the delayed execution control information or the repeated execution control information in a facet-oriented programming manner; an out-of-order control information compiling unit for compiling the delayed execution control information or the repeated execution control information; a cut-in position determining unit, configured to determine a cut-in position of the delayed execution control information or the repeated execution control information in original data content corresponding to a target block chain; the injection unit is used for injecting the compiled delayed execution control information or the compiled repeated execution control information into the original data content according to the cut-in position;
the intelligent contract deployment module is used for deploying intelligent contracts into each node, and the intelligent contracts comprise money transfer-in and transfer-out rules or variable addition and subtraction operation rules;
the operation module is used for operating the delayed execution control information or the repeated execution control information in the process of calling the intelligent contract by each node;
the out-of-order calling module is used for controlling each node to delay or repeatedly call the intelligent contract according to the delay execution control information or the repeated execution control information;
and the information acquisition module is used for obtaining contract verification information, node verification information and block chain function verification information corresponding to each node according to the result of delaying or repeatedly calling the intelligent contract by each node.
7. The apparatus of claim 6, wherein the out-of-order call module is further configured to: controlling each node to delay or repeatedly perform at least one of a first operation, a second operation, a third operation, or a fourth operation based on the delayed performance control information or the repeated performance control information;
the first operation is an operation of transferring money of an external account into the intelligent contract corresponding to the node, the second operation is an operation of transferring money in the intelligent contract corresponding to the node out of the external account, the third operation is an operation of adding variables stored in the intelligent savings corresponding to the node, and the fourth operation is an operation of subtracting variables stored in the intelligent contract corresponding to the node.
8. The apparatus of claim 7, wherein the information obtaining module comprises:
a contract verification information acquisition unit, configured to acquire, from each node, an account balance of an intelligent contract corresponding to the node or a numerical value of a variable stored in the intelligent contract, and obtain contract verification information corresponding to the node;
a node verification information acquisition unit, configured to acquire at least one of a balance of an external account, a height of a block chain, or a transaction number corresponding to each node from each node, to obtain node verification information corresponding to the node;
and the block chain function verification information acquisition unit is used for acquiring log record information corresponding to the node from each node to obtain block chain function verification information corresponding to the node, and the block chain function verification information represents whether the node has the capacity of continuously calling the intelligent contract.
9. A computer readable storage medium having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions that is loaded and executed by a processor to implement an intelligent contract invocation method according to any of claims 1-5.
10. An electronic device, characterized in that the electronic device comprises: a processor and a memory, the memory having stored therein at least one instruction, at least one program, set of codes, or set of instructions that is loaded and executed by the processor to implement the intelligent contract invocation method of any of claims 1-5.
CN201910931373.3A 2019-06-20 2019-06-20 Intelligent contract calling method and device and storage medium Active CN110599183B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910931373.3A CN110599183B (en) 2019-06-20 2019-06-20 Intelligent contract calling method and device and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910536533.4A CN110335041B (en) 2019-06-20 2019-06-20 Consistency detection method, device, equipment and storage medium for intelligent contract calling
CN201910931373.3A CN110599183B (en) 2019-06-20 2019-06-20 Intelligent contract calling method and device and storage medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201910536533.4A Division CN110335041B (en) 2019-06-20 2019-06-20 Consistency detection method, device, equipment and storage medium for intelligent contract calling

Publications (2)

Publication Number Publication Date
CN110599183A CN110599183A (en) 2019-12-20
CN110599183B true CN110599183B (en) 2021-08-17

Family

ID=68142097

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910536533.4A Active CN110335041B (en) 2019-06-20 2019-06-20 Consistency detection method, device, equipment and storage medium for intelligent contract calling
CN201910931373.3A Active CN110599183B (en) 2019-06-20 2019-06-20 Intelligent contract calling method and device and storage medium

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910536533.4A Active CN110335041B (en) 2019-06-20 2019-06-20 Consistency detection method, device, equipment and storage medium for intelligent contract calling

Country Status (1)

Country Link
CN (2) CN110335041B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110752969B (en) * 2019-10-21 2021-03-16 腾讯科技(深圳)有限公司 Performance detection method, device, equipment and medium
CN111198763A (en) * 2019-12-25 2020-05-26 平安壹钱包电子商务有限公司 Resource reuse detection method, terminal and computer-readable storage medium
CN111160911B (en) * 2019-12-31 2023-10-24 杭州趣链科技有限公司 Intelligent contract calling frequency control method for block chain
CN111651977B (en) * 2020-05-26 2021-07-06 中南民族大学 Language-independent legal contract and intelligent contract consistency measuring method
CN112330453B (en) * 2020-11-23 2024-05-10 杭州趣链科技有限公司 Intelligent contract calling method, device, equipment and storage medium based on blockchain
CN113542405B (en) * 2021-07-14 2023-10-17 广东卓启云链科技有限公司 Block chain-based network communication system, method, equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804096A (en) * 2017-05-05 2018-11-13 中思博安科技(北京)有限公司 A kind of task scheduling execution method and apparatus based on intelligent contract
CN109598506A (en) * 2018-11-02 2019-04-09 克洛斯比尔有限公司 Block chain accurately postpones the method for encryption, system, calculates equipment and computer readable storage medium
CN109639751A (en) * 2018-10-16 2019-04-16 平安科技(深圳)有限公司 Block chain node monitoring method, device, system and computer storage medium
CN109743182A (en) * 2019-01-21 2019-05-10 中国联合网络通信集团有限公司 Intelligent contract based on block chain checks and approves method and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10102265B1 (en) * 2017-04-12 2018-10-16 Vijay K. Madisetti Method and system for tuning blockchain scalability for fast and low-cost payment and transaction processing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804096A (en) * 2017-05-05 2018-11-13 中思博安科技(北京)有限公司 A kind of task scheduling execution method and apparatus based on intelligent contract
CN109639751A (en) * 2018-10-16 2019-04-16 平安科技(深圳)有限公司 Block chain node monitoring method, device, system and computer storage medium
CN109598506A (en) * 2018-11-02 2019-04-09 克洛斯比尔有限公司 Block chain accurately postpones the method for encryption, system, calculates equipment and computer readable storage medium
CN109743182A (en) * 2019-01-21 2019-05-10 中国联合网络通信集团有限公司 Intelligent contract based on block chain checks and approves method and system

Also Published As

Publication number Publication date
CN110335041B (en) 2021-07-16
CN110599183A (en) 2019-12-20
CN110335041A (en) 2019-10-15

Similar Documents

Publication Publication Date Title
CN110599183B (en) Intelligent contract calling method and device and storage medium
CN109408373B (en) Test method of intelligent contract, computer readable storage medium and test terminal
CN109976761B (en) Software development kit generation method and device and terminal equipment
US20230246811A1 (en) Method for compiling from a high-level scripting language to a blockchain native scripting language
CN108027722B (en) Dynamically updating applications in compilation and deployment
AU2011268459B2 (en) Dynamically loading graph-based computations
CN109032825B (en) Fault injection method, device and equipment
US8924944B2 (en) Implementation of distributed methods that support generic functions
US20150363195A1 (en) Software package management
CN102446100B (en) For the type of data type and the abstract system and method for length
CN104168250A (en) CGI frame-based service flow control method and apparatus
US10387126B2 (en) Data marshalling optimization via intermediate representation of workflows
AU2014262225A1 (en) Dynamically loading graph-based computations
CN105164642A (en) Operating system support for contracts
CN113867709B (en) Block chain intelligent contract read-write set construction method and device
CN115760391A (en) Intelligent contract changing method and device in block chain, electronic equipment and storage medium
CN117931156A (en) Method, apparatus and storage medium for executing script command
US10409624B1 (en) Data array compaction in an emulation system
CN114581241A (en) Intelligent contract processing method and device, processor and electronic equipment
CN109144575A (en) Device, method, electronic equipment and the memory of cross operating system operation application
CN110347471B (en) Hierarchical display component system, display component calling method and device
CN114358936A (en) Intelligent contract operation method based on micro-service block chain
CN103235745A (en) Address conflict detection method and device
WO2022035476A1 (en) Representing asynchronous state machine in intermediate code
CN105117243A (en) Method and apparatus for obtaining application starting time

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40014517

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant