CN114356604A - Contract calling method and device, electronic equipment and storage medium - Google Patents

Contract calling method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN114356604A
CN114356604A CN202111670114.3A CN202111670114A CN114356604A CN 114356604 A CN114356604 A CN 114356604A CN 202111670114 A CN202111670114 A CN 202111670114A CN 114356604 A CN114356604 A CN 114356604A
Authority
CN
China
Prior art keywords
contract
enhancement
address
class
instruction
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.)
Pending
Application number
CN202111670114.3A
Other languages
Chinese (zh)
Inventor
张延楠
张珂杰
卢益铭
黄方蕾
尚璇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology 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 Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202111670114.3A priority Critical patent/CN114356604A/en
Publication of CN114356604A publication Critical patent/CN114356604A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The embodiment of the application discloses a contract calling method, a contract calling device, electronic equipment and a storage medium, wherein the method comprises the following steps: acquiring a first address of a first enhancement contract; performing instruction enhancement on a second contract according to the first address to obtain a second enhancement contract, wherein the second contract comprises the first address; sending the second enhancement contract to a second device so that the second device deploys the second enhancement contract on a blockchain to obtain a second address of the second enhancement contract; and sending a calling request to the second equipment according to the second address so that the second equipment calls the second enhancement contract according to the second address. The method includes performing instruction enhancement on a second contract containing logic for invoking the first contract by using an address of the invoked first contract, and invoking the second enhancement contract based on the second address can realize cross-contract invocation between the enhancement contracts.

Description

Contract calling method and device, electronic equipment and storage medium
Technical Field
The application relates to the technical field of computers, in particular to a contract calling method, a contract calling device, electronic equipment and a storage medium.
Background
The blockchain is a novel decentralized protocol, digital currency transactions or other data can be safely stored, information cannot be forged and tampered, transaction confirmation on the blockchain is completed by all nodes on the blockchain together, consistency of the blockchain is guaranteed by a consensus algorithm, a public account book is maintained on the blockchain, and any node on the public account book located on a storage block is visible, so that the blockchain is guaranteed to be incapable of being forged and tampered.
An intelligent contract is an assembly language programmed on a blockchain, and an intelligent contract is a contract that can be automatically executed on a computer system when certain conditions are met. The intelligent contracts written by the traditional programming language lack instructions for operating the persistent fields, the enhanced intelligent contracts can perform read-write and other operations on the persistent fields of the block chain account book through the instructions, however, at present, many intelligent contracts written by the traditional programming language have cross-contract calling logic, and instruction enhancement and calling cannot be performed on the intelligent contracts at present.
Disclosure of Invention
The embodiment of the application provides a contract calling method, a contract calling device, an electronic device and a storage medium, and can perform instruction enhancement and calling on an intelligent contract containing cross-contract calling logic.
The embodiment of the application provides a contract calling method, which is applied to first equipment and comprises the following steps: acquiring a first address of a first enhancement contract, wherein the first address is obtained after the first enhancement contract is deployed on a block chain; performing instruction enhancement on a second contract according to the first address to obtain a second enhancement contract, wherein the second contract comprises the first address; sending the second enhancement contract to a second device so that the second device deploys the second enhancement contract on a blockchain to obtain a second address of the second enhancement contract; and sending a calling request to the second equipment according to the second address so that the second equipment calls the second enhancement contract according to the second address.
The embodiment of the application provides a contract calling method, which is applied to second equipment, wherein the second equipment is node equipment in a block chain, and the method comprises the following steps: receiving a calling request sent by first equipment, wherein the calling request comprises a second address; acquiring a byte code file of a second enhancement contract according to the second address, wherein the second enhancement contract comprises a first address; creating target persistent field information of the second enhancement contract according to the bytecode file and the first address of the second enhancement contract; executing the second enhancement contract based on the target persistence field information.
An embodiment of the present application further provides a contract invoking apparatus, which is applied to a first device, and the apparatus includes: the acquisition module is used for acquiring a first address of a first enhancement contract, wherein the first address is obtained after the first enhancement contract is deployed on a block chain; the enhancement module is used for carrying out instruction enhancement on a second contract according to the first address to obtain a second enhancement contract, and the second contract comprises the first address; a deployment module, configured to send the second enhancement contract to a second device, so that the second device deploys the second enhancement contract on a blockchain to obtain a second address of the second enhancement contract; and the calling module is used for sending a calling request to the second equipment according to the second address so that the second equipment can call the second enhancement contract according to the second address.
An embodiment of the present application further provides a contract invoking apparatus, which is applied to a second device, where the second device is a node device in a block chain, and the apparatus includes: the receiving module is used for receiving a calling request sent by first equipment, wherein the calling request comprises a second address; a file obtaining module, configured to obtain a byte code file of a second enhancement contract according to the second address, where the second enhancement contract includes the first address; a creating module, configured to create target persistent field information of the second enhancement contract according to the bytecode file and the first address of the second enhancement contract; an execution module to execute the second enhancement contract based on the target persistence field information.
The embodiment of the application also provides electronic equipment, which comprises a memory, a storage and a control unit, wherein the memory stores a plurality of instructions; the processor loads instructions from the memory to perform any of the steps in the contract invocation methods provided by embodiments of the present application.
Embodiments of the present application further provide a computer-readable storage medium, where the computer-readable storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to perform steps in any of the contract invoking methods provided in the embodiments of the present application.
The method and the device can utilize the address of the called first enhancement contract to perform instruction enhancement on a second contract containing logic for calling the first contract, and calling the second enhancement contract based on the second address can realize cross contract calling between the enhancement contracts. And when the instruction of the second contract is enhanced, the dependency check and the safety check of the second contract are introduced, so that the correctness of the second contract is further ensured, and errors are avoided when the second enhancement contract is called.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic diagram of a scenario of a contract invocation method provided in an embodiment of the present application;
FIG. 2 is a schematic flowchart of a contract invoking method according to an embodiment of the present application;
FIG. 3 is a schematic flow chart diagram of a contract invocation method according to another embodiment of the present application;
FIG. 4 is a diagram of target persistent field information provided by an embodiment of the present application;
FIG. 5 is a schematic diagram of target persisted field information provided by another embodiment of the present application;
FIG. 6 is a diagram of target persisted field information provided by yet another embodiment of the present application;
FIG. 7 is a diagram of target persisted field information provided by yet another embodiment of the present application;
FIG. 8 is a schematic structural diagram of a contract invoking device provided in an embodiment of the present application;
FIG. 9 is a schematic diagram of a contract invoking device according to another embodiment of the present application;
fig. 10 is a schematic structural diagram of an electronic device provided in an embodiment of the present application.
Detailed Description
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 a part of the embodiments of the present application, and not all of the 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.
The embodiment of the application provides a contract calling method, a contract calling device, electronic equipment and a storage medium.
The contract invoking device may be specifically integrated in an electronic device, and the electronic device may be a terminal, a server, or other devices. The terminal can be a mobile phone, a tablet Computer, an intelligent bluetooth device, a notebook Computer, or a Personal Computer (PC), and the like; the server may be a single server or a server cluster composed of a plurality of servers.
In some embodiments, the contract invoking device may be integrated into a plurality of electronic devices, for example, the contract invoking device may be integrated into a plurality of servers, and the plurality of servers implement the contract invoking method of the present application.
In some embodiments, the server may also be implemented in the form of a terminal.
Referring to FIG. 1, a schematic diagram of a scenario of a contract invocation method is shown. The first device 101 is a device under a link, and the second device 102 is a node device in a block chain. The user may write a second contract on the first device 101 that includes invocation logic that invokes the first enhancement contract and command enhancement of the second contract to obtain a second enhancement contract.
The first device 101 may send the second enhancement contract to the second device 102 in the form of a transaction for deployment on the blockchain resulting in a second address for the second enhancement contract.
The first device 101 may send a call request carrying the second address to the second device 102, so that the second device 102 calls the second enhancement contract according to the second address.
As an embodiment, the first device 101 and the second device 102 may be integrated into one electronic device, the function of the first device 101 may be as a down-link processing module, and the function of the second device may be as an up-link processing module. That is, the terminal device may perform instruction enhancement on the second contract, or may invoke the second enhancement contract according to the second address.
In some embodiments, the instruction enhancement on the second contract may be performed locally by the down-chain processing module to obtain a second enhancement contract, and then the second enhancement contract is uploaded to the blockchain by the down-chain processing module, so as to be deployed on the blockchain to obtain a second address and implement the call on the second enhancement contract.
In some embodiments, a second contract is written by a processing module under a chain, the second contract is subjected to instruction enhancement by a processing module on the chain to obtain a second enhancement contract, and then the second enhancement contract is deployed on a block chain to obtain a second address and call the second enhancement contract is realized.
In the embodiment of the present application, the first device 101 and the second device 102 are exemplified as two different devices.
In this embodiment, a contract invoking method is provided, and as shown in fig. 2, a specific flow of the contract invoking method may be as follows:
s110, a first address of a first enhancement contract is obtained, wherein the first address is obtained after the first enhancement contract is deployed on a block chain.
The first enhancement contract refers to an intelligent contract which is already deployed on the blockchain system, and the first address is a contract address obtained after the first enhancement contract is deployed on the blockchain, wherein the first enhancement contract is obtained after the first contract is subjected to instruction enhancement.
Specifically, the first contract may be a jar package of a Java intelligent contract written by a contract developer using a contract development framework package, and after the first contract is subjected to instruction enhancement, a corresponding first enhancement contract may be obtained. The first enhancement contract is sent to the second equipment in a transaction mode to be contracted and deployed, the second equipment can complete the deployment of the first enhancement contract through a Java intelligent contract execution engine, a unique contract address is generated for the first enhancement contract and is the first address, the second equipment returns the first address to the first equipment, and therefore the first equipment can obtain the first address.
And S120, performing instruction enhancement on a second contract according to the first address to obtain a second enhancement contract, wherein the second contract comprises the first address.
The second contract includes a first address, and the first enhancement contract may be invoked based on the first address. Specifically, the second contract may be a contract developer writing a Java smart contract including a calling logic that calls the first enhancement contract using a contract development framework package, and transmitting a first address of the first enhancement contract into an interface called across contracts to obtain an instance corresponding to the first enhancement contract. And packaging to generate a jar package of the second contract, wherein the jar package is the second contract.
It is understood that in a Java smart contract, multiple contracts may be invoked across contracts, for example, there are also deployed contracts 1 and 2, and the second contract may further include invocation logic for invoking contracts 1 and 2, which may be specifically set according to actual needs, and is not specifically limited herein.
When the instruction enhancement of the second contract based on the first address is carried out to obtain a second enhancement contract, the method can comprise the following steps:
and S121, decompressing the second contract to a preset file, wherein the preset file comprises a byte code file and metadata, and the byte code file comprises a byte code file obtained from the first contract based on the first address.
The second contract is essentially a jar package, and can be decompressed to obtain a byte code file and metadata, and the decompressed byte code file and metadata are stored in a preset file for subsequent use.
Because the second contract includes the first address, the bytecode file in the first contract acquired according to the first address may also be included in the bytecode file obtained by decompressing the second contract.
In some embodiments, if the second contract calls the first enhancement contract through the interface of the first contract, the second contract includes the code of the interface of the first contract, and the interface of the first contract and the first address are used to obtain the contract instance corresponding to the first contract and call the interface method provided by the interface of the first contract to call the first enhancement contract. Thus, the second contract includes byte code files for all classes in the second contract and byte code files for the interface of the first contract.
In some embodiments, if the first enhancement contract is called in the second contract through the contract class of the first contract, the second contract includes code of the contract class of the first contract, obtains a contract instance corresponding to the contract class of the first contract using the contract class of the first contract and the first address, calls a method in the contract class of the first contract or operates a public field in the contract instance corresponding to the contract class to call the first enhancement contract. Thus, the second contract includes byte code files for all classes in the second contract as well as byte code files for the contract classes of the first contract.
In some implementations, if the first enhancement contract is invoked in the second contract by referencing the first contract, the second contract may obtain the contract class of the first contract through the first contract, obtain a contract instance of the contract class of the first contract using the contract class and the first address of the first contract, and invoke a public field of the contract instance of the contract class to invoke the first enhancement contract.
In packaging the second contract, it may be that the first contract on which the second contract depends is packaged together, i.e., the second contract includes byte code of the contract class of the first contract.
When the second contract is packaged, if the first contract depended by the second contract is not packaged together, namely, the byte code of the contract class of the first contract does not exist in the second contract.
And S122, determining whether the second contract meets a preset condition or not based on the metadata and the byte code file.
The preset condition may include a first condition for dependency checking on metadata and a second condition for security checking on the bytecode file.
When determining whether the second contract meets a preset condition based on the metadata and the bytecode file, parsing the metadata to determine whether a contract development framework package meets a first condition; if the contract development framework package meets the first condition, storing classes in the contract development framework package and the development tool package into a basic class pool; analyzing the classes in the byte code file, storing the classes in a contract class pool, and determining whether the contract classes in the contract class pool meet a second condition; and if the class in the byte code file meets a second preset condition and the contract development framework package meets the first condition, determining whether the second contract meets the preset condition.
Specifically, the metadata may be analyzed to obtain version information of a contract development framework package that the second contract depends on, whether the contract development framework package is supported is determined based on the version information, and if the contract development framework package is supported, it may be determined that the contract development framework package satisfies the first condition; if not, it may be determined that the contract development framework package does not satisfy the first condition.
If the contract development framework package does not satisfy the first condition, an error may be reported to modify the second contract. If the contract development framework package meets the first condition, classes in the contract development framework package and the development toolkit (JDK) can be stored in the basic class pool, namely the classes in the contract development framework package and the JDK are stored in the basic class pool.
And analyzing the byte code file in the second contract, and storing the classes in the byte code file into the contract class pool, namely storing the classes in the byte code file in the contract class pool. And judging whether the classes in the contract class pool, namely the classes in the byte code file, meet a second condition.
Specifically, in an intelligent contract, there are two categories, one is a contract category and the other is a common category, the contract category needs to inherit a contract abstract category, and a category name of the contract category is declared in metadata, so that it may be determined whether the contract category in the contract category pool inherits the contract abstract category in the contract development package, whether the package name and the category name conform to a naming specification, whether there is a conflict with the category in the basic category pool, and so on.
When the second contract simultaneously satisfies the first condition and the second condition, it may be determined that the second contract satisfies the preset condition.
If the second contract has packaging errors and contract development framework package version errors, the errors are difficult to find in the early period, usually the errors can be found only when the contracts are executed, dependence check and safety check are carried out on the second contract through preset conditions, the correctness of the second contract can be ensured, and the execution errors are avoided.
And S123, if the second contract meets the preset condition, analyzing the persistent field information of the contract class based on the byte code file, wherein the contract class is a class which inherits the contract abstract class in the byte code file, and the persistent field information comprises the persistent field in the contract class.
If the second contract meets the preset condition, the second contract is correct and is not abnormal in execution, and the persistent field information of the contract class can be continuously analyzed based on the byte code file.
The contract class refers to a class in the bytecode file that inherits the contract abstract class, that is, the contract class refers to a class in which the contract abstract class is relayed by the contract class pool. And analyzing the field of the contract class, if the field has the persistent field identification, considering the field as the persistent field, and using the persistent field as the persistent field information.
It will be appreciated that if multiple fields of a contract class have persistent field identifications, multiple persistent fields may be determined, which constitute persistent field information.
And S124, replacing the preset byte code instruction in the contract class with a preset enhancement instruction to obtain a target byte code based on the persistent field information, wherein the preset byte code instruction and the preset enhancement instruction have a one-to-one correspondence relationship.
At least one Java method can be included in the contract class, each Java method includes a bytecode instruction, and the preset bytecode instruction refers to an instruction with a preset field. When there are a plurality of preset bytecode instructions, each preset bytecode instruction corresponds to one preset enhancement instruction, for example, the preset bytecode instruction includes instruction 1, instruction 2, and instruction 3, then instruction 1 corresponds to enhancement instruction 1, instruction 2 corresponds to enhancement instruction 2, and instruction 3 corresponds to enhancement instruction 3.
The target bytecode is a bytecode instruction obtained by replacing a preset bytecode instruction with an enhanced instruction.
Replacing a preset bytecode instruction in the contract class with a preset enhancement instruction to obtain a target bytecode based on the persistent field information, wherein the target bytecode instruction can be a bytecode instruction traversing methods in the contract class; when the bytecode instruction is the preset bytecode instruction, determining whether a declaration class of an operation field exists in the basic class pool or the contract class pool, wherein the operation field is a field operated by the bytecode instruction; if the declaration class of the operation field exists in the basic class pool or the contract class pool, determining whether the operation field exists in the persistent field information; and if the operation field exists in the persistent field information, replacing the bytecode instruction with a preset enhancement instruction.
Specifically, the method may be to traverse a bytecode instruction in each Java method in a contract class, and if the bytecode instruction is a preset bytecode instruction, obtain a declaration class of a field operated by the bytecode instruction, that is, obtain a declaration class of an operation field, and determine whether the declaration class exists in a base class pool or a contract class pool. The preset bytecode instruction may refer to an instruction for accessing a class field, such as getstattic or putstattic, and may refer to an instruction for an instance field, such as getfield or putfield.
If the declaration class exists in the base class pool or the contract class pool, whether the operation field exists in the persistent field information is further determined, that is, whether the operation field is a persistent field is further determined.
If the declaration class does not exist in the base class pool or the contract class pool, the instruction enhancement may be considered to fail.
And if the operation field is determined to exist in the persistent field information, replacing the bytecode instruction with a preset enhanced instruction.
That is, when a certain bytecode instruction is a preset bytecode instruction, and a declaration class field of a field operated by the bytecode instruction exists in the base class pool or the contract class pool, and the field operated by the bytecode instruction is a persistent field, the bytecode instruction may be replaced with a preset enhancement instruction. Specifically, the following may be replaced according to the correspondence shown in table 1:
TABLE 1
Preset bytecode instruction Preset enhancement instruction
getstatic getstaticpro
putstatic putstaticpro
getfield getfieldpro
putfield putfieldpro
I.e., getstattic may be replaced with getstatipro, putstattic may be replaced with putstatipro, getfield may be replaced with getfield, and putfield may be replaced with putfield.
As previously described, if the first enhancement contract is invoked in the second contract by referencing the first contract, but the second contract does not include the bytecode of the contract class of the first contract. When enhancing the second contract, persistent field information for contract classes in the second contract may be scanned. When the operation instruction is enhanced, if the instruction of operating the field of the contract class of the first contract is checked, whether the contract class of the first contract exists in the basic class pool or the contract class pool can be determined, and if the contract class of the first contract does not exist in the basic class pool or the contract class pool, the enhancement fails.
In some embodiments, after the preset bytecode instruction is replaced with the preset enhancement instruction, an enhancement identifier may be further added to the contract class in the contract pool class. The contract with the enhanced identification may be considered an enhanced contract.
And S125, replacing the corresponding byte code file in the preset file with the target byte code, and packaging the preset file to obtain the second enhancement contract.
And replacing the preset byte code instruction with the preset enhancement instruction to obtain a target byte code, replacing the corresponding byte code file in the preset file with the target byte code, and repackaging the preset file to obtain a second enhancement contract.
S130, sending the second enhancement contract to a second device, so that the second device deploys the second enhancement contract on the block chain to obtain a second address of the second enhancement contract.
After the second enhancement contract is obtained, the second enhancement contract can be sent to the second device in a trading mode to carry out contract deployment, the second device can complete the contract deployment through the Java intelligent contract execution engine, and a unique contract address is generated for the second enhancement contract, namely the second address. So that the first device can obtain the second address.
And S140, sending a calling request to the second equipment according to the second address so that the second equipment can call the second enhancement contract according to the second address.
When the second enhanced contract needs to be called, the first device may send a call request to the second device, where the call request may include the second address, so that the second device may execute the second enhanced contract according to the second address, and return an execution result to the first device.
The contract calling method provided by the embodiment of the application can utilize the address of the called first enhancement contract to perform instruction enhancement on the second contract containing the logic for calling the first contract, and the cross contract calling between the enhancement contracts can be realized by calling the second enhancement contract based on the second address. And when the instruction of the second contract is enhanced, the dependency check and the safety check of the second contract are introduced, so that the correctness of the second contract is further ensured, and errors are avoided during calling.
In this embodiment, a contract invoking method is provided, as shown in fig. 3, the contract invoking method may be applied to a second device, where the second device is a node device in a blockchain, and a specific flow may be as follows:
s210, receiving a calling request sent by the first device, wherein the calling request comprises a second address.
And S220, acquiring a byte code file of a second enhancement contract according to the second address, wherein the second enhancement contract comprises the first address.
When the second enhanced contract needs to be called, the first device may send a call request to the second device, where the call request carries the second address, and thus the second device may obtain the second address.
And the second equipment acquires the byte code file and the contract class information of the second enhancement contract from the block chain account book through the second address. The called contract can be determined to be an enhanced contract through the enhanced identification in the contract class information.
And S230, creating target persistent field information of the second enhancement contract according to the byte code file and the first address of the second enhancement contract.
The second device may create a first state table and a contract instance table corresponding to the second enhancement contract when acquiring the bytecode file of the second enhancement contract, may acquire a first contract instance corresponding to the first enhancement contract when executing a logic for invoking the first enhancement contract, creates a second state table according to the first contract instance, and updates the contract instance table according to the first contract instance. The target persistence field information includes a first state table, a second state table, and a contract instance table. Specifically, the process may include the steps of:
and S231, creating a second contract instance of the contract class based on the byte code file of the second enhancement contract.
The second device may load a second enhanced contract bytecode based on the second address, may find a contract class by metadata of the second enhanced contract, and create a second contract instance to which the contract class corresponds.
S232, determining a persistent field in the contract class corresponding to the second contract instance as a second target field, and correspondingly storing the second target field and the state information to obtain a second state table corresponding to the second contract instance.
S233, creating a contract instance table according to the second contract instance;
and S234, when the first enhancement contract is called, acquiring a first contract instance of the first enhancement contract according to the first address in the second enhancement contract.
In the process of executing the second enhancement contract, if the interface method for calling the first enhancement contract is executed, the first contract instance corresponding to the first enhancement contract can be acquired through the first address.
As an embodiment, if the first contract instance is not obtained through the first address, the first contract instance may be created. Specifically, the second device may obtain a bytecode file of the first enhancement contract and the contract class information according to the first address, and create the first contract instance based on the bytecode file. To ensure that the first contract instance can be retrieved based on the first address.
S235, determining the persistent field in the contract class corresponding to the first contract instance as a first target field, and correspondingly storing the first target field and state information to obtain a first state table corresponding to the first contract instance.
And determining a persistent field in the contract class corresponding to the second contract instance as a second target field, and correspondingly storing the second target field and the state information as a second state table. Specifically, the state information of the second target field may be set to be loaded.
Because the second enhancement contract includes logic for invoking the first enhancement contract, when the second device executes the logic for invoking the first enhancement contract, the first contract instance may be obtained according to the first address, and the first state table corresponding to the first contract instance may be created. Specifically, the persistent field in the contract class corresponding to the first contract instance may be determined as a first target field, and the first target field and the state information may be stored as a first state table correspondingly. Specifically, the state information corresponding to the first target field may be set to be loaded.
For example, the first enhanced contract is contract a1 and the second enhanced contract is contract B. The contract class corresponding to the contract B is ClassB, and the contract instance for creating ClassB is the second contract instance InstanceB 1. Scanning the field information of ClassB, assuming that 2 persistent fields, FieldB1 and FieldB2, exist in ClassB, a state table corresponding to InstanceB1, i.e., a second state table, can be obtained, which can be referred to in detail in fig. 4.
The contract class corresponding to contract A1 is ClassA and the first contract instance is InstanceA 1. Scanning the field information of ClassA, and assuming that there are 3 persistent fields, FieldA1, FieldA2, and StaticFieldA3, a first state table, which is a state table corresponding to InstanceA1, can be obtained, which may be specifically referred to fig. 4.
And S236, updating the contract instance table based on the first contract instance.
After the second contract instance is acquired, a contract instance table can be created, and after the first contract instance is acquired, the contract instance table can be updated based on the first contract instance. As described in the foregoing example, the first contract instance is InstanceA1, the second contract instance is InstanceB1, InstanceB1 is obtained first, and InstanceA1 is obtained next, so that a contract instance table may be constructed according to the contract class name and the corresponding contract instance, which may specifically refer to fig. 4.
It should be noted that the second state table and the contract instance table (only InstanceB1 exists in the contract instance table at this time) may be sequentially constructed according to the execution order, and when the logic for calling the first enhanced contract is executed, the first state table may be constructed, and InstanceA1 may be added to the contract instance table, so as to update the contract instance table to obtain the final contract instance table.
That is, the target persisted field information includes a built state table and a contract instance table, where the state table may be plural.
S240, executing the second enhancement contract based on the target persistence field information.
When executing the second enhancement contract based on the target persistent field information, the second enhancement contract may be executed based on the aforementioned first state table, second state table, and contract instance table, as well as the first enhancement contract invoked by the second enhancement contract. The process may include: if the preset enhancement instruction is executed, acquiring the declaration class of the target field operated by the preset enhancement instruction; determining the last contract instance corresponding to the declaration class name as a target contract instance from the contract instance table based on the declaration class; determining state information corresponding to the target field in a state table corresponding to the target contract instance; and executing the second enhancement contract according to the state information corresponding to the target field.
As described previously, the preset enhanced instruction may include an enhanced instruction (getstatipro, putstatipro) accessing the class field and an enhanced instruction (getfieldpro, putfieldpro) accessing the instance field.
In some embodiments, if the executed default enhanced instruction is getstatipro, the state information of the target field operated by getstatipro can be found, and the state information can be loaded or to be loaded. And if the state information of the target field is to be loaded, reading the value of the target field from the blockchain account book by using the address of the target contract instance and the name of the target field, setting the state information of all the target fields in the target persistent field information to be loaded, and then inserting the read value of the target field into the operand stack top. And if the state information of the target field is loaded, inserting the value of the target field into the top of the operation stack.
In some embodiments, if the default enhanced instruction executed is putstatipro, a value is fetched from the top of the operand stack and set to the value of the target field. And if the state information of the target field is to be loaded, setting the state information of all the target fields in the target persistent field information to be loaded.
In some embodiments, if the predetermined enhanced instruction is getfieldpro, the instruction is executed. And if the found state information of the target field is to be loaded, reading the value of the target field from the block chain account book by using the address of the target contract example and the name of the target field, setting the state information of the target field in the target contract example as loaded, and then inserting the read value of the target field into the operand stack top. And if the state information of the target field is loaded, inserting the value of the target field into the top of the operation stack.
In some embodiments, if the default enhanced instruction executed is putfieldpro, a value may be fetched from the top of the operand stack and set to the value of the target field. And if the state information of the target field is to be loaded, setting the state information of the target field in the state table of the target contract instance to be loaded.
Referring to FIG. 4, if the getfieldpro instruction of FieldA1 to operation InstanceA1 is executed, i.e., the target field is FieldA1, the declaration class of the target field is ClassA, and the target contract instance is InstanceA 1. And querying a state table corresponding to the instanceA1 to obtain the state information with the target field FieldA1 as the state information to be loaded. Thus, the value of FieldA1 at the address corresponding to InstanceA1 can be obtained from the blockchain ledger according to the first address and the FieldA 1. And the state information of the FieldA1 in InstanceA1 is set to be loaded, i.e., the state information of the FieldA1 in InstanceA1 in fig. 4 is loaded.
When the putfieldpro instruction of the field db2 of the operation InstanceB1 is executed, the state table corresponding to the InstanceB1 may be queried to obtain the state information of the target field fieldpro 2 as to be loaded. Thus, the value at the top of the stack in the operand stack may be assigned to FieldB2, and the state information of FieldB2 in InstanceB1 may be set to loaded, i.e., the state information of FieldB2 in InstanceB1 in fig. 4 is loaded at this time.
The above procedure is a generic cross-contract invocation procedure, and in some embodiments there may be cross-contracts that invoke the same contract, but the addresses of the contracts are different, which will be described in detail below with a specific example.
Following the foregoing example, if an enhancement contract a2 exists, enhancement contract a1 and enhancement contract a2 have identical contents but have different addresses, i.e., enhancement contract a1 corresponds to address a1 and enhancement contract a2 corresponds to address a2, i.e., enhancement contract a1 and enhancement contract a2 have the same execution logic, but their ledger data do not communicate with each other. Enhancement contract B invokes enhancement contract a1 and enhancement contract a2 across contracts.
When the enhancement contract B is called, a state table corresponding to the contract instance InstanceB1 corresponding to the enhancement contract B may be obtained, which may be specifically referred to in fig. 5. And newly adding a contract instance InstanceB1 corresponding to the ClassB in the contract instance table.
When executing the logic for calling the enhanced contract a1 across contracts, assuming that FieldA1 has already been operated, a state table corresponding to InstanceA1 is created, and a contract instance InstanceA1 corresponding to ClassA is newly added in the contract instance table, and the target persistent field information constructed at this time can refer to fig. 5.
When the getstatticatpro instruction to staticifielda 3 of operation ClassA is executed, the last instance InstanceA1 corresponding to ClassA is obtained from the enhanced contract instance mapping table. The enhanced contract status information of InstanceA1 is checked and the status of StaticFieldA3 is found to be pending. Therefore, the Java intelligent contract engine acquires the value of StaticFieldA3 of InstanceA1 corresponding to address A1 from the ledger and sets the state of StaticFieldA3 of all instances in ClassA to be loaded. I.e., the status information of StaticFieldA3 in fig. 5 changes from pending to loaded.
When the logic of the cross-contract call enhancement contract A2 is executed, a corresponding state table of InstanceA2 is created, and the state information of the target field in the state table is set to be loaded. For the class field, it is also necessary to set the state information of the target field to be loaded in the state tables of other instances of the current class. That is, the status information of staticifielda 3 is set to be loaded in the status table of InstanceA 1. At this point, the status information of staticifielda 3 in the status table of InstanceA1 is again changed from loaded to pending.
Adding a contract instance instanceA2 in the contract instance table, namely adding instanceA2 in the corresponding contract instance of ClassA. The target persistent field information obtained at this time can be referred to fig. 6.
When the getstatticalpro instruction to staticifielda 3 of operation ClassA is executed again, the last instance InstanceA2 corresponding to ClassA is obtained from the contract instance table. Checking the status information of staticifielda 3 in InstanceA2 as pending load. Therefore, the value of staticielda 3 at the address a2 corresponding to InstanceA2 is obtained from the blockchain account book, and the state of staticielda 2 in the state table of all instances in ClassA is set to be loaded, that is, the state information of staticielda 3 in the state table of InstanceA2 and the state table of InstanceA1 in fig. 6 is changed to be loaded.
When the getfieldpro instruction of FieldA2 to operation InstanceA2 is executed, the state information of FieldA2 in the state table corresponding to InstanceA1 is checked as to be loaded. Therefore, the second device can obtain the value of FieldA2 at the address corresponding to InstanceA2 from the blockchain account book. And the state of the FieldA2 in the InstanceA2 is set to be loaded, at this time, the obtained target persistent field information can refer to fig. 7.
Therefore, the second device can call the second enhancement contract containing the cross contract calling logic according to the mode, and return the execution result obtained by executing the second enhancement contract to the first device, so that the first device can know the result obtained by calling the second enhancement contract. It should be noted that the above processes may be executed by a Java smart contract execution engine in the second device.
As can be seen from the above, in the contract invoking method provided in the embodiment of the present application, the second device may obtain the second enhancement contract based on the second address, obtain the first contract instance invoked by the second enhancement contract according to the first address in the second enhancement contract, and create the target persistent field information based on the second enhancement contract and the first contract instance, so as to execute the second enhancement contract, thereby implementing invocation of the second enhancement contract including the cross-contract invoking logic.
In order to better implement the method, the embodiment of the application also provides a contract invoking device which is applied to the first equipment. For example, as shown in fig. 8, the contract invoking apparatus 300 may include an acquisition module 310, an enhancement module 320, a deployment module 330, and a calling module 340.
An obtaining module 310, configured to obtain a first address of a first enhancement contract, where the first address is an address obtained after the first enhancement contract is deployed on a block chain; the enhancing module 320 is configured to perform instruction enhancement on a second contract according to the first address to obtain a second enhanced contract, where the second contract includes the first address; a deployment module 330, configured to send the second enhancement contract to a second device, so that the second device deploys the second enhancement contract on a blockchain to obtain a second address of the second enhancement contract; the invoking module 340 is configured to send an invoking request to the second device according to the second address, so that the second device invokes the second enhancement contract according to the second address.
In some embodiments, the first enhancement contract is an instruction enhancement to the first contract, and the enhancement module 320 is further configured to: decompressing the second contract to a preset file, wherein the preset file comprises a byte code file and metadata, and the byte code file comprises a byte code file in a first contract acquired based on the first address; determining whether the second contract meets a preset condition based on the metadata and the byte code file; if the second contract meets the preset condition, analyzing persistent field information of a contract class based on the byte code file, wherein the contract class is a class inheriting a contract abstract class in the byte code file, and the persistent field information comprises a persistent field in the contract class; replacing a preset byte code instruction in the contract class with a preset enhancement instruction to obtain a target byte code based on the persistent field information, wherein the preset byte code instruction and the preset enhancement instruction have a one-to-one correspondence relationship; and replacing the corresponding byte code file in the preset file with the target byte code, and packaging the preset file to obtain the second enhancement contract.
In some embodiments, the preset condition includes a first condition and a second condition, and the enhancing module 320 is further configured to: analyzing the metadata and determining whether the contract development framework package meets a first condition; if the contract development framework package meets the first condition, storing classes in the contract development framework package and the development tool package into a basic class pool; analyzing the classes in the byte code file, storing the classes in a contract class pool, and determining whether the contract classes in the contract class pool meet a second condition; and if the class in the byte code file meets a second preset condition and the contract development framework package meets the first condition, determining that the second contract meets the preset condition.
In some embodiments, the boost module 320 is further configured to: traversing bytecode instructions of methods in the contract class; when the bytecode instruction is the preset bytecode instruction, determining whether a declaration class of an operation field exists in the basic class pool or the contract class pool, wherein the operation field is a field operated by the bytecode instruction; if the declaration class of the operation field exists in the basic class pool or the contract class pool, determining whether the operation field exists in the persistent field information; and if the operation field exists in the persistent field information, replacing the bytecode instruction with a preset enhancement instruction.
In order to better implement the method, the embodiment of the application also provides a contract invoking device which is applied to the second device. For example, as shown in fig. 9, the contract invoking apparatus 400 may include a receiving module 410, a file obtaining module 420, an instance obtaining module 430, a creating module 430, and an executing module 440.
A receiving module 410, configured to receive a call request sent by a first device, where the call request includes a second address;
a file obtaining module 420, configured to obtain a byte code file of a second enhancement contract according to the second address, where the second enhancement contract includes the first address;
a creating module 430, configured to create target persistent field information of the second enhancement contract according to the bytecode file and the first address of the second enhancement contract;
an execution module 440 to execute the second enhancement contract based on the target persisted field information.
In some embodiments, the creation module 430 is further configured to: creating a second contract instance of a contract class based on the bytecode file of the second enhancement contract; determining a persistent field in the contract class corresponding to the second contract instance as a second target field, and correspondingly storing the second target field and state information to obtain a second state table corresponding to the second contract instance; creating a contract instance table according to the second contract instance; when a first enhancement contract is called, acquiring a first contract instance of the first enhancement contract according to a first address in a second enhancement contract; determining a persistent field in a contract class corresponding to the first contract instance as a first target field, and correspondingly storing the first target field and state information to obtain a first state table corresponding to the first contract instance; updating the contract instance table based on the first contract instance.
In some embodiments, the execution module 440 is further configured to: if the preset enhancement instruction is executed, acquiring the declaration class of the target field operated by the preset enhancement instruction; determining the last contract instance corresponding to the declaration class name as a target contract instance from the contract instance table based on the declaration class; determining state information corresponding to the target field in a state table corresponding to the target contract instance; and executing the second enhancement contract according to the state information corresponding to the target field.
In specific implementation, the above modules may be implemented as independent entities, or may be combined arbitrarily to be implemented as the same or several entities, and specific implementation of the above modules may refer to the foregoing method embodiments, which are not described herein again.
The contract calling device provided by the embodiment of the application can utilize the address of the called first enhancement contract to perform instruction enhancement on a second contract containing logic for calling the first contract, and calling the second enhancement contract based on the second address can realize cross-contract calling between the enhancement contracts. And when the instruction of the second contract is enhanced, the dependency check and the safety check of the second contract are introduced, so that the correctness of the second contract is further ensured, and errors are avoided when the second enhancement contract is called.
Correspondingly, the embodiment of the present application further provides an electronic device, where the electronic device may be a terminal or a server, and the terminal may be a terminal device such as a smart phone, a tablet computer, a notebook computer, a touch screen, a game machine, a Personal computer, and a Personal Digital Assistant (PDA).
As shown in fig. 10, fig. 10 is a schematic structural diagram of an electronic device according to an embodiment of the present application, where the electronic device 500 includes a processor 501 having one or more processing cores, a memory 502 having one or more computer-readable storage media, and a computer program stored in the memory 502 and capable of running on the processor. The processor 501 is electrically connected to the memory 502. Those skilled in the art will appreciate that the electronic device configurations shown in the figures do not constitute limitations of the electronic device, and may include more or fewer components than shown, or some components in combination, or a different arrangement of components.
The processor 501 is a control center of the electronic device 500, connects various parts of the whole electronic device 500 by using various interfaces and lines, performs various functions of the electronic device 500 and processes data by running or loading software programs and/or modules stored in the memory 502, and calling data stored in the memory 502, thereby performing overall monitoring of the electronic device 500.
In this embodiment, the processor 501 in the electronic device 500 loads instructions corresponding to processes of one or more application programs into the memory 502, and the processor 501 runs the application programs stored in the memory 502 according to the following steps, so as to implement various functions:
acquiring a first address of a first enhancement contract, wherein the first address is obtained after the first enhancement contract is deployed on a block chain;
performing instruction enhancement on a second contract according to the first address to obtain a second enhancement contract, wherein the second contract comprises the first address;
sending the second enhancement contract to a second device so that the second device deploys the second enhancement contract on a blockchain to obtain a second address of the second enhancement contract;
and sending a calling request to the second equipment according to the second address so that the second equipment calls the second enhancement contract according to the second address.
The above operations can be implemented in the foregoing embodiments, and are not described in detail herein.
Although not shown in fig. 10, the electronic device 500 may further include an input unit, a power supply, a radio frequency circuit, an audio circuit, a camera, a sensor, a wireless fidelity module, a bluetooth module, and the like, which are not described in detail herein.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
It will be understood by those skilled in the art that all or part of the steps of the methods of the above embodiments may be performed by instructions or by associated hardware controlled by the instructions, which may be stored in a computer readable storage medium and loaded and executed by a processor.
To this end, embodiments of the present application provide a computer-readable storage medium, in which a plurality of computer programs are stored, and the computer programs can be loaded by a processor to execute the steps in any of the contract invoking methods provided by the embodiments of the present application. For example, the computer program may perform the steps of:
acquiring a first address of a first enhancement contract, wherein the first address is obtained after the first enhancement contract is deployed on a block chain;
performing instruction enhancement on a second contract according to the first address to obtain a second enhancement contract, wherein the second contract comprises the first address;
sending the second enhancement contract to a second device so that the second device deploys the second enhancement contract on a blockchain to obtain a second address of the second enhancement contract;
and sending a calling request to the second equipment according to the second address so that the second equipment calls the second enhancement contract according to the second address.
The above operations can be implemented in the foregoing embodiments, and are not described in detail herein.
Wherein the storage medium may include: read Only Memory (ROM), Random Access Memory (RAM), magnetic or optical disks, and the like.
The computer program stored in the storage medium may execute the steps in any contract invoking method provided in the embodiment of the present application, so that the beneficial effects that any contract invoking method provided in the embodiment of the present application can achieve may be achieved.
The contract invoking method, the contract invoking device, the storage medium and the electronic device provided by the embodiment of the application are introduced in detail, a specific example is applied in the description to explain the principle and the implementation of the application, and the description of the embodiment is only used for helping to understand the method and the core idea of the application; meanwhile, for those skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.

Claims (11)

1. A contract invocation method, applied to a first device, the method comprising:
acquiring a first address of a first enhancement contract, wherein the first address is obtained after the first enhancement contract is deployed on a block chain;
performing instruction enhancement on a second contract according to the first address to obtain a second enhancement contract, wherein the second contract comprises the first address;
sending the second enhancement contract to a second device so that the second device deploys the second enhancement contract on a blockchain to obtain a second address of the second enhancement contract;
and sending a calling request to the second equipment according to the second address so that the second equipment calls the second enhancement contract according to the second address.
2. The method of claim 1, wherein the first enhancement contract is about to be instruction enhanced for a first contract, and wherein the instruction enhancement for a second contract based on the first address is about to be a second enhancement contract, comprising:
decompressing the second contract to a preset file, wherein the preset file comprises a byte code file and metadata, and the byte code file comprises a byte code file in a first contract acquired based on the first address;
determining whether the second contract meets a preset condition based on the metadata and the byte code file;
if the second contract meets the preset condition, analyzing persistent field information of a contract class based on the byte code file, wherein the contract class is a class inheriting a contract abstract class in the byte code file, and the persistent field information comprises a persistent field in the contract class;
replacing a preset byte code instruction in the contract class with a preset enhancement instruction to obtain a target byte code based on the persistent field information, wherein the preset byte code instruction and the preset enhancement instruction have a one-to-one correspondence relationship;
and replacing the corresponding byte code file in the preset file with the target byte code, and packaging the preset file to obtain the second enhancement contract.
3. The method of claim 2, wherein the predetermined condition comprises a first condition and a second condition, and wherein determining whether the second contract satisfies the predetermined condition based on the metadata and the bytecode file comprises:
analyzing the metadata and determining whether the contract development framework package meets a first condition;
if the contract development framework package meets the first condition, storing classes in the contract development framework package and the development tool package into a basic class pool;
analyzing the classes in the byte code file, storing the classes in a contract class pool, and determining whether the contract classes in the contract class pool meet a second condition;
and if the class in the byte code file meets a second preset condition and the contract development framework package meets the first condition, determining that the second contract meets the preset condition.
4. The method of claim 3, wherein replacing the predetermined bytecode instruction in the contract class with a predetermined enhancement instruction based on the persistent field information to obtain a target bytecode, comprising:
traversing bytecode instructions of methods in the contract class;
when the bytecode instruction is the preset bytecode instruction, determining whether a declaration class of an operation field exists in the basic class pool or the contract class pool, wherein the operation field is a field operated by the bytecode instruction;
if the declaration class of the operation field exists in the basic class pool or the contract class pool, determining whether the operation field exists in the persistent field information;
and if the operation field exists in the persistent field information, replacing the bytecode instruction with a preset enhancement instruction.
5. A contract calling method is applied to a second device, wherein the second device is a node device in a block chain, and the method comprises the following steps:
receiving a calling request sent by first equipment, wherein the calling request comprises a second address;
acquiring a byte code file of a second enhancement contract according to the second address, wherein the second enhancement contract comprises a first address;
creating target persistent field information of the second enhancement contract according to the bytecode file and the first address of the second enhancement contract;
executing the second enhancement contract based on the target persistence field information.
6. The method of claim 5, wherein creating the target persistent field information for the second enhancement contract based on the bytecode file and the first address of the second enhancement contract comprises:
creating a second contract instance of a contract class based on the bytecode file of the second enhancement contract;
determining a persistent field in the contract class corresponding to the second contract instance as a second target field, and correspondingly storing the second target field and state information to obtain a second state table corresponding to the second contract instance;
creating a contract instance table according to the second contract instance;
when a first enhancement contract is called, acquiring a first contract instance of the first enhancement contract according to a first address in a second enhancement contract;
determining a persistent field in a contract class corresponding to the first contract instance as a first target field, and correspondingly storing the first target field and state information to obtain a first state table corresponding to the first contract instance;
updating the contract instance table based on the first contract instance.
7. The method of claim 6, wherein executing the second enhancement contract based on the target persisted field information comprises:
if the preset enhancement instruction is executed, acquiring the declaration class of the target field operated by the preset enhancement instruction;
determining the last contract instance corresponding to the declaration class name as a target contract instance from the contract instance table based on the declaration class;
determining state information corresponding to the target field in a state table corresponding to the target contract instance;
and executing the second enhancement contract according to the state information corresponding to the target field.
8. A contract invoking apparatus, applied to a first device, the apparatus comprising:
the acquisition module is used for acquiring a first address of a first enhancement contract, wherein the first address is obtained after the first enhancement contract is deployed on a block chain;
the enhancement module is used for carrying out instruction enhancement on a second contract according to the first address to obtain a second enhancement contract, and the second contract comprises the first address;
a deployment module, configured to send the second enhancement contract to a second device, so that the second device deploys the second enhancement contract on a blockchain to obtain a second address of the second enhancement contract;
and the calling module is used for sending a calling request to the second equipment according to the second address so that the second equipment can call the second enhancement contract according to the second address.
9. A contract invoking apparatus applied to a second device, where the second device is a node device in a blockchain, the apparatus comprising:
the receiving module is used for receiving a calling request sent by first equipment, wherein the calling request comprises a second address;
a file obtaining module, configured to obtain a byte code file of a second enhancement contract according to the second address, where the second enhancement contract includes the first address;
a creating module, configured to create target persistent field information of the second enhancement contract according to the bytecode file and the first address of the second enhancement contract;
an execution module to execute the second enhancement contract based on the target persistence field information.
10. An electronic device comprising a processor and a memory, the memory storing a plurality of instructions; the processor loads instructions from the memory to perform the steps in a contract invocation method according to any of claims 1-7.
11. A computer readable storage medium storing instructions adapted to be loaded by a processor to perform the steps of the contract invocation method according to any of claims 1-7.
CN202111670114.3A 2021-12-31 2021-12-31 Contract calling method and device, electronic equipment and storage medium Pending CN114356604A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111670114.3A CN114356604A (en) 2021-12-31 2021-12-31 Contract calling method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111670114.3A CN114356604A (en) 2021-12-31 2021-12-31 Contract calling method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN114356604A true CN114356604A (en) 2022-04-15

Family

ID=81104710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111670114.3A Pending CN114356604A (en) 2021-12-31 2021-12-31 Contract calling method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114356604A (en)

Similar Documents

Publication Publication Date Title
US11726810B2 (en) Systemic extensible blockchain object model comprising a first-class object model and a distributed ledger technology
US8239849B2 (en) Class loading delegation network
CN115185550A (en) Service deployment method, device, computer equipment and storage medium
CN111651169B (en) Block chain intelligent contract operation method and system based on web container
EP3207453A1 (en) Api versioning independent of product releases
CN112256249A (en) Method and equipment for expanding Android system function and computer storage medium
CN117707543A (en) Application installation package manufacturing and installation method, computing device and storage medium
CN114356604A (en) Contract calling method and device, electronic equipment and storage medium
US8745605B2 (en) Execution contexts with polymorphic type implementations
CN112269638B (en) Virtual machine loading device, method and system for realizing interaction between server applications
US20050267977A1 (en) Automatic creation of protocol dependent control path for instrument application
CN113867776A (en) Method and device for publishing middle station application, electronic equipment and storage medium
CN112286894A (en) Log generation method and device and readable storage medium
CN111949296A (en) Data updating method and device
CN117827381B (en) Kubernets-based low-code application running state deployment and capacity expansion method
CN110879747B (en) Resource management method and device
US11423148B2 (en) Preventing discovery of unique identifiers in firmware
CN112597029A (en) Standard inspection system, method, device and medium
CN117472407A (en) Platform upgrading method, device, equipment and medium based on k8s cluster construction
CN117931374A (en) Application processing method, device, equipment and storage medium based on container isolation
CN111966512A (en) Webservice universal method and device for accessing database, computer equipment and storage medium
CN118034805A (en) Micro-service intelligent closing method and device, electronic equipment and storage medium
CN114168652A (en) Intelligent contract interaction method, device, equipment and storage medium
CN116719570A (en) Data loading method and related device
CN114416219A (en) System function calling method and device, electronic equipment and readable medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination