CA3161753A1 - Blockchain-smart-contract debugging and releasing method and system thereof - Google Patents

Blockchain-smart-contract debugging and releasing method and system thereof

Info

Publication number
CA3161753A1
CA3161753A1 CA3161753A CA3161753A CA3161753A1 CA 3161753 A1 CA3161753 A1 CA 3161753A1 CA 3161753 A CA3161753 A CA 3161753A CA 3161753 A CA3161753 A CA 3161753A CA 3161753 A1 CA3161753 A1 CA 3161753A1
Authority
CA
Canada
Prior art keywords
test
contract
channel
smart contract
smart
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
CA3161753A
Other languages
French (fr)
Inventor
Yue Wang
Rui Li
Ping YAO
Songjiang HAN
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.)
10353744 Canada Ltd
Original Assignee
10353744 Canada 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 10353744 Canada Ltd filed Critical 10353744 Canada Ltd
Publication of CA3161753A1 publication Critical patent/CA3161753A1/en
Pending legal-status Critical Current

Links

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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A blockchain-based smart contract debugging and releasing method and apparatus. The method comprises: S1: automatically create a test channel while creating a transaction channel, and enable a user to join or exit the test channel synchronously when the user joins or exits the transaction channel; S2: deploy a smart contract to be tested on the test channel, and all users on the test channel jointly perform service test on contract contents; S3: determine whether the test of said contract passes or not, if yes, execute step S4, and if not, return said contract to a developer to modify or select a new smart contract, return to step S2, and re-test said contract; S4: carry out consensus on the content of said contract by all users on the test channel, and deploy said contract on the transaction channel after obtaining feedback of the agreed deployment. According to the method, the workload of participants can be reduced, the contract updating operation period is shortened, and the operation and query efficiency of the blockchain underlying network is effectively improved.

Description

BLOCKCHAIN-SMART-CONTRACT DEBUGGING AND RELEASING METHOD
AND SYSTEM THEREOF
BACKGROUND OF THE INVENTION
Technical Field [0001] The present invention relates to the technical field of blockchain, and more particularly to a blockchain-smart-contract debugging and releasing method and a system thereof.
Description of Related Art
[0002] With the emergence and development of blockchain technology, there have been more and more businesses and organizations trying to explore landing application of blockchain technology in diverse commercial and living scenarios and expect the new technology to bring tangible benefits to various producing and living activities in the society. As a foundational platform that provides upper services with environments to run contracts and with technical supports, a blockchain platform has to ensure its own operational stability while supporting and securing stability and availability of its upper-layer services.
[0003] At present, blockchain technology has been extensively used in many fields, like finance, logistics, copyright protections and more. Because of the complexity and variability of the upper layer services, smart contracts deployed on blockchains usually need repeated revision and test to be verified as matching requirements for their respective business operations. The typical practice in a blockchain platform is to repeatedly revise and repeatedly deploy its smart contract, and this can lead to two problems:
[0004] 1. Every time the smart contract is revised and deployed, consensus has to be reached for its content in the transaction channel, making workload of every participating party in the blockchain even heavier; and Date Recue/Date Received 2022-05-16
[0005] 2. For the same reason, there are a huge amount of useless test data in the transaction channel, leading to inefficient query and storage of blocks and transactions in the channel.
SUMMARY OF THE INVENTION
[0006] To solve the problems in the prior art, one embodiment of the present invention provides a blockchain-smart-contract debugging and releasing method which solves problems in the prior art about heavy workload for participating parties in a blockchain caused by frequent revision and deployment of smart contracts, and about inefficient query and storage of blocks and transactions in transaction channels due to the presence of useless test data accumulated in transaction channels.
[0007] In one aspect, the present invention provides a blockchain-smart-contract debugging and releasing method, comprising the following steps:
[0008] Si: automatically creating a test channel while creating a transaction channel, and entering or leaving a user with respect to the test channel synchronously when the user enters or leaves the transaction channel;
[0009] S2: deploying a to-be-tested smart contract into the test channel, so that all users in the test channel jointly perform a business test on content of the contract;
[0010] S3: determining whether the smart contract passes the test, if yes, proceeding with the step S4, if no, returning the smart contract to its developer for revising or selecting another smart contract and then going back to the step S2 to test the smart contract again; and
[0011] S4: waiting for all the users in the test channel to reach consensus on the content of the smart contract, and after a feedback of agreement on deployment is received, deploying the smart contract into the transaction channel.
[0012] Further, the to-be-tested smart contract includes a newly submitted smart contract and/or a smart contract of a historical version.
[0013] Further, the step S3 comprises:
[0014] if the newly submitted smart contract passes the test, performing the step S4, and if the newly submitted smart contract does not pass the test, returning the smart contract to the Date Recue/Date Received 2022-05-16 developer for revising and then going back to the step S2 to test the smart contract again;
and/or,
[0015] if the smart contract of a historical version passes the test, performing the step S4, and if the smart contract of a historical version does not pass the test, selecting another smart contract and then going back to the step S2 to test the smart contract again.
[0016] Further, the step S2 further comprises:
[0017] recording test data generated when the smart contract is operated in the test channel into the test channel, so that the test data become queriable to the users in the test channel.
[0018] Further, in the step S2 comprises:
[0019] after the consensus is reached among all the users in the test channel, the test data can be deleted.
[0020] Further, the step S4 further comprises:
[0021] recording a block and/or transaction data generated when the smart contract is operated in the transaction channel into the transaction channel, so that the block and/or the transaction data become queriable to the users in the transaction channel.
[0022] In another aspect, the present invention provides a blockchain-smart-contract debugging and releasing system, at least comprising:
[0023] a creation module, for a user to operate to create a transaction channel, and for automatically creating a test channel while creating the transaction channel;
[0024] a registration module, for the user to operate to enter or leave the transaction channel, and for entering or leaving the user with respect to the test channel when the user enters or leaves the transaction channel;
[0025] a test module, for deploying a to-be-tested smart contract into the test channel, so that all users in the test channel jointly perform a business test on content of the contract;
[0026] a determination module, for determining whether the smart contract passes the test, if yes, sending the to-be-tested smart contract to a release module, if no, returning the smart contract to its developer for revising or selecting another smart contract and then sending to the test module to test the smart contract again; and
[0027] the release module, for waiting for all the users in the test channel to reach consensus on Date Recue/Date Received 2022-05-16 the content of the smart contract, and after a feedback of agreement on deployment is received, deploying the smart contract into the transaction channel.
[0028] Further, the system further comprises:
[0029] a first storage module, for recording test data generated when the smart contract is operated in the test channel into the test channel; and
[0030] a first query module, for the user to operate to query the test data in the test channel.
[0031] Further, the system further comprises:
[0032] a deletion module, for deleting the test data after the consensus is reached among all the users in the test channel.
[0033] Further, the system further comprises:
[0034] a second storage module, for recording a block and/or transaction data generated when the smart contract is operated in the transaction channel into the transaction channel; and
[0035] a second query module, for the user to operate to query the block and/or transaction data in the transaction channel.
[0036] The technical schemes of the embodiments of the present invention provide the following beneficial effects:
[0037] 1. When a user creates a transaction channel, the blockchain-smart-contract debugging and releasing method and system provided by the embodiments of the present invention system automatically create a test channel having the same participating parties as the transaction channel so as to provide an environment for performing test before formal deployment of a contract and eliminate the need for consensus verification every time a test is deployed because the content of the smart contract is verified to be matching the businesses of participating parties in the transaction channel, thereby reducing workload for the participating parties and shortening the operational cycle for updating the contract;
[0038] 2. The blockchain-smart-contract debugging and releasing method and system provided by the embodiments of the present invention store test data and transaction data separately, so as to prevent mutual interference between the two sets of data, thereby effectively improving operational and query efficiency of the underlying network of the blockchain and enhancing stability; and Date Recue/Date Received 2022-05-16
[0039] 3. The blockchain-smart-contract debugging and releasing method and system provided by the embodiments of the present invention introduce the concept of process specification and manageability in software development engineering into the debugging and releasing process for a smart contract of a blockchain channel, thereby reducing costs for maintaining the contract and maximizing teamwork efficiency.
BRIEF DESCRIPTION OF THE DRAWINGS
[0040] The accompanying drawings are provided herein for better understanding of the present invention and form a part of this disclosure. The illustrative embodiments and their descriptions are for explaining the present invention and by no means form any improper limitation to the present invention, wherein:
[0041] FIG. 1 is a flowchart of a blockchain-smart-contract debugging and releasing method according to one exemplary embodiment of the present invention; and
[0042] FIG. 2 is a structural diagram of a blockchain-smart-contract debugging and releasing system according to one exemplary embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0043] To make the foregoing objectives, features, and advantages of the present invention clearer and more understandable, the following description will be directed to some embodiments as depicted in the accompanying drawings to detail the technical schemes disclosed in these embodiments. It is, however, to be understood that the embodiments referred herein are only a part of all possible embodiments and thus not exhaustive. Based on the embodiments of the present invention, all the other embodiments can be conceived without creative labor by people of ordinary skill in the art, and all these and other embodiments shall be encompassed in the scope of the present invention.
[0044] FIG. 1 is a flowchart of a blockchain-smart-contract debugging and releasing method according to one exemplary embodiment of the present invention. As shown, the method comprises the following steps.
Date Recue/Date Received 2022-05-16
[0045] At the step Si, the method involves automatically creating a test channel while creating a transaction channel, and entering or leaving a user with respect to the test channel synchronously when the user enters or leaves the transaction channel.
[0046] Specifically, a user of a blockchain may create a transaction channel according to his/her business needs. When a user uses the system to create a transaction channel, the system automatically creates a test channel having the same participating users for the user at the same time. When the new blockchain user enters or leaves the transaction channel, he/she will enter or leave the corresponding test channel synchronously.
[0047] The step S2 is about deploying a to-be-tested smart contract into the test channel, so that all users in the test channel jointly perform a business test on content of the contract.
[0048] Specifically, a user in a blockchain may deploy a to-be-tested smart contract submitted by a contract developer into the test channel, so that all users in the test channel jointly perform a business test on content of the contract. It is to be noted that, in the embodiment of the present invention, the content of the smart contract content has only to be verified by the participating parties in the test channel (who are also the participating parties in the transaction channel) that it matches their business during testing, without the need the need for consensus verification every time a test is deployed. This helps reduce workload for every participating party and shorten the operational cycle for updating the contract.
[0049] To verify whether the content of the smart contract matches the respective businesses of the individual participating parties, the following process can be performed:
[0050] acquiring a smart contract code corresponding to the to-be-tested smart contract, and compiling the smart contract code, so as to obtain a compilation file;
[0051] analyzing the compilation file to generate a function testing page;
[0052] after the user input test parameters to the function testing page, performing a function test on the to-be-tested smart contract.
[0053] Further, the method comprises recording test data generated when the smart contract is operated in the test channel into the test channel, so that the test data become queriable to the users in the test channel.
[0054] Specifically, before the smart contract is formally deployed into the transaction channel, Date Recue/Date Received 2022-05-16 the test data generated when it is run in the test channel are recorded in the test channel for query and display. In other words, users can query the test data in the test channel.
[0055] Further, in the disclosed method, after the consensus is reached among all the users in the test channel, the test data can be deleted.
[0056] Specifically, deletion of any data in the blockchain is prohibited unless consensus on this among all users in the channel is reached. For example, when the data capacity of a blockchain is about to reach its limit, a user in a channel in which test data occupy more space than other channels may initiate a request to delete the test data. Only when consensus on agreement to the request is reached, can the storage space taken by the test data be released. This helps protect data in the blockchain from unauthorized deletion.
[0057] It is to be noted that, in the embodiment of the present invention, an application is allowed to call an SDK to write transactions into the test channel, and a limit about how fast the transactions can be submitted may be set in the SDK, so as to prevent testing operation in the test channel from interfering the performance of the transaction channel.
[0058] The step S3 is for determining whether the smart contract passes the test, if yes, proceeding with the step S4, if no, returning the smart contract to its developer for revising or selecting another smart contract and then going back to the step S2 to test the smart contract again.
[0059] Specifically, after all users in the test channel jointly perform a business test on content of the contract, according to the test results, it can be determined whether the to-be-tested smart contract passes the test. If it does, the method is proceeded with the step S4. If it fails in the test, the smart contract is transferred to its developer for revising or reselection of another smart contract. Then the revised or newly selected smart contract is subjected to the step S2 where it is tested again.
[0060] At S4, the method comprises waiting for all the users in the test channel to reach consensus on the content of the smart contract, and after a feedback of agreement on deployment is received, deploying the smart contract into the formal transaction channel for use.
[0061] Specifically, after passing the test, the smart contract has to get consensus on its content Date Recue/Date Received 2022-05-16 from all the users in the test channel and receive a feedback of agreement on deployment before it can be to deployed into the transaction channel.
[0062] Further, recording a block and/or transaction data generated when the smart contract is operated in the transaction channel into the transaction channel, so that the block and/or the transaction data become queriable to the users in the transaction channel.
[0063] Specifically, the block and/or transaction data generated when the smart contract is run in the transaction channel are recorded in the transaction channel, and the block and/or transaction data can be queryd and displayed in the transaction channel, so the user can query the block and/or transaction data in the transaction channel. It is to be noted that both the data of the transaction channel and the data of the test channel have the characteristic of being incorruptible as all data in a blockchain, an since they are stored separately, the two sets of data are prevented from interfering each other, thereby effectively improving operational and query efficiency of the underlying network of a blockchain, and in turn enhancing stability.
[0064] Further, the to-be-tested smart contract includes a newly submitted smart contract and/or a smart contract of a historical version.
[0065] Further, the step S3 comprises:
[0066] if the newly submitted smart contract passes the test, performing the step S4, and if the newly submitted smart contract does not pass the test, returning the smart contract to the developer for revising and then going back to the step S2 to test the smart contract again;
and/or,
[0067] if the smart contract of a historical version passes the test, performing the step S4, and if the smart contract of a historical version does not pass the test, selecting another smart contract and then going back to the step S2 to test the smart contract again.
[0068] Specifically, in the embodiment of the present invention, the to-be-tested smart contract may include a newly submitted smart contract and/or a smart contract of historical versions. In either case, if the smart contract passes the test, the method goes to the step S4. However, if the smart contract fails the test, the subsequent progress is different. To be specific, if the newly submitted smart contract fails the test, the smart contract is Date Recue/Date Received 2022-05-16 returned to the developer for revision and then subjected to the step S2, where it is tested again. If the smart contract of a historical version fails the test, another smart contract is selected and then the method goes back to the step S2 to test the smart contract again.
[0069] That is to say, if the content of the smart contract needs to be changed according to business needs and therefore needs to be updated or rolled back to an earlier version, users in the blockchain may select to deploy a new smart contract submitted by the developer or a smart contract of an earlier version that once used in the present transaction channel into the test channel, so that all the users of the test channel perform a business test on the content of the contract in the test channel. If the smart contract fails the test, the newly submitted smart contract can be transferred to its developer for revising, resubmission and retesting. As to a smart contract of a historical version, since it cannot be altered, the only solution is to select another smart contract for re-deployment and retesting in the test channel. At this time, in the transaction channel, there is still the previous formally deployed contract running. If the test has a positive result, all the users in the channel try to reach consensus in the content of the smart contract and after a feedback of agreement on deployment is received, the updated contract is formally deployed into the transaction channel for use.
[0070] All of the foregoing alternative technical scheme may be combined in an arbitrary manner to form an alternative embodiment of the present invention, and these possible combinations are not exhaustively described herein.
[0071] FIG. 2 is a structural diagram of a blockchain-smart-contract debugging and releasing system according to an exemplary embodiment of the present invention. As shown, the system at least comprises the following modules.
[0072] A creation module is for a user to operate to create a transaction channel, and for automatically creating a test channel when the user creates the transaction channel.
Therein, the test channel and the transaction channel correspond to each other.
[0073] A registration module is for the user to operate to enter or leave the transaction channel, and for entering or leaving the user with respect to the test channel when the user enters or leaves the transaction channel.

Date Recue/Date Received 2022-05-16
[0074] A test module is for deploying a to-be-tested smart contract into the test channel, so that all users in the test channel jointly perform a business test on content of the contract.
[0075] Specifically, in the embodiment of the present invention, the content of the smart contract content has only to be verified by the participating parties in the test channel (who are also the participating parties in the transaction channel) that it matches their businesses during testing, without the need the need for consensus verification every time a test is deployed. This helps reduce workload for every participating party and shorten the operational cycle for updating the contract.
[0076] A determination module is for determining whether the smart contract passes the test, if yes, sending the to-be-tested smart contract to a release module, if no, returning the smart contract to its developer for revising or selecting another smart contract and then sending to the test module to test the smart contract again.
[0077] It is to be noted that the to-be-tested smart contract may include a newly submitted smart contract and/or a smart contract of a historical version. If the newly submitted smart contract does not pass the testing, it may be transferred the developer of the contract for revision for subsequent resubmission and test. A smart contract of the historical version cannot be revised, so the only solution is to select another smart contract and deploy it into the test channel for testing.
[0078] The release module is for waiting for all the users in the test channel to reach consensus on the content of the smart contract, and after a feedback of agreement on deployment is received, deploying the smart contract into the transaction channel.
[0079] Further, the system further comprises:
[0080] a first storage module, for recording test data generated when the smart contract is operated in the test channel into the test channel; and
[0081] a first query module, for the user to operate to query the test data in the test channel;
[0082] a deletion module, for deleting the test data after the consensus is reached among all the users in the test channel;
[0083] a second storage module, for recording a block and/or transaction data generated when the smart contract is operated in the transaction channel into the transaction channel; and Date Recue/Date Received 2022-05-16
[0084] a second query module, for the user to operate to query the block and/or transaction data in the transaction channel.
[0085] Specifically, in the embodiment of the present invention, both the data of the transaction channel and the data of the test channel have the characteristic of being incorruptible as all data in a blockchain, an since they are stored separately, the two sets of data are prevented from interfering each other, thereby effectively improving operational and query efficiency of the underlying network of a blockchain, and in turn enhancing stability.
[0086] It is to be noted that implementation of the blockchain-smart-contract debugging and releasing system may be based on the blockchain-smart-contract debugging and releasing method as described previously.
[0087] To sum up, the technical schemes of the embodiments of the present invention provide the following beneficial effects:
[0088] 1. When a user creates a transaction channel, the blockchain-smart-contract debugging and releasing method and system provided by the embodiments of the present invention system automatically create a test channel having the same participating parties as the transaction channel so as to provide an environment for performing test before formal deployment of a contract and eliminate the need for consensus verification every time a test is deployed because the content of the smart contract is verified to be matching the businesses of participating parties in the transaction channel, thereby reducing workload for the participating parties and shortening the operational cycle for updating the contract;
[0089] 2. The blockchain-smart-contract debugging and releasing method and system provided by the embodiments of the present invention store test data and transaction data separately, so as to prevent mutual interference between the two sets of data, thereby effectively improving operational and query efficiency of the underlying network of the blockchain and enhancing stability; and
[0090] 3. The blockchain-smart-contract debugging and releasing method and system provided by the embodiments of the present invention introduce the concept of process specification and manageability in software development engineering into the debugging and releasing process for a smart contract of a blockchain channel, thereby reducing costs Date Recue/Date Received 2022-05-16 for maintaining the contract and maximizing teamwork efficiency.
[0091] It is to be noted that work division among the foregoing functional modules for the blockchain-smart-contract debugging and releasing system of the present embodiment to implement debugging and releasing services is merely exemplary. In practical implementations, the work division may be made among different functional modules. In other words, the internal architecture of the order-based phoning system may be reconfigured with different functional modules to perform all or a part of the functions as described previously. In addition, since the order-based phoning system of the present embodiment and the disclosed order-based phoning method in the previous embodiment stem from the same conception, the details of its implementation can be learned from the description made to the method of the previous embodiment, and no repetition is made herein.
[0092] As will be appreciated by people of ordinary skill in the art, implementation of all or a part of the steps of the method of the present invention as described previously may be realized by having a program instruct related hardware components. The program may be stored in a computer-readable storage medium, and the program is about performing the individual steps of the methods described in the foregoing embodiments.
The storage medium may be a ROM, a hard drive, an optical disk, or the like.
[0093] The preferred embodiments of the present invention described previously are not intended to limit the present invention. Any modification, equivalent replacement, and improvement made under the spirit and principle of the present invention shall be embraces in the scope of the present invention.

Date Recue/Date Received 2022-05-16

Claims (10)

CA 03161753 2022-05-16What is claimed is:
1. A blockchain-smart-contract debugging and releasing method, comprising:
S1: automatically creating a test channel while creating a transaction channel, and entering or leaving a user with respect to the test channel synchronously when the user enters or leaves the transaction channel;
S2: deploying a to-be-tested smart contract into the test channel, so that all users in the test channel jointly perform a business test on content of the contract;
S3: determining whether the smart contract passes the test, if yes, proceeding with the step S4, if no, returning the smart contract to its developer for revising or selecting another smart contract and then going back to the step S2 to test the smart contract again; and S4: waiting for all the users in the test channel to reach consensus on the content of the smart contract, and after a feedback of agreement on deployment is received, deploying the smart contract into the transaction channel.
2. The blockchain-smart-contract debugging and releasing method of claim 1, wherein the to-be-tested smart contract includes a newly submitted smart contract and/or a smart contract of a historical version.
3. The blockchain-smart-contract debugging and releasing method of claim 2, wherein the step S3 comprises:
if the newly submitted smart contract passes the test, performing the step S4, and if the newly submitted smart contract does not pass the test, returning the smart contract to the developer for revising and then going back to the step S2 to test the smart contract again;
and/or, if the smart contract of a historical version passes the test, performing the step S4, and if the smart contract of a historical version does not pass the test, selecting another smart contract and then going back to the step S2 to test the smart contract again.

Date Recue/Date Received 2022-05-16
4. The blockchain-smart-contract debugging and releasing method of any of claims 1 through 3, wherein the step S2 further comprises:
recording test data generated when the smart contract is operated in the test channel into the test channel, so that the test data become queriable to the users in the test channel.
5. The blockchain-smart-contract debugging and releasing method of claim 4, wherein in the step S2 further comprises:
after the consensus is reached among all the users in the test channel, the test data can be deleted.
6. The blockchain-smart-contract debugging and releasing method of any of claims 1 through 3, wherein the step S4 further comprises:
recording a block and/or transaction data generated when the smart contract is operated in the transaction channel into the transaction channel, so that the block and/or the transaction data become queriable to the users in the transaction channel.
7. A blockchain-smart-contract debugging and releasing system, comprising:
a creation module, for a user to operate to create a transaction channel, and for automatically creating a test channel while creating the transaction channel;
a registration module, for the user to operate to enter or leave the transaction channel, and for entering or leaving the user with respect to the test channel when the user enters or leaves the transaction channel;
a test module, for deploying a to-be-tested smart contract into the test channel, so that all users in the test channel jointly perform a business test on content of the contract;
a determination module, for determining whether the smart contract passes the test, if yes, sending the to-be-tested smart contract to a release module, if no, returning the smart contract to its developer for revising or selecting another smart contract and then sending to the test module to test the smart contract again; and the release module, for waiting for all the users in the test channel to reach consensus on the Date Recue/Date Received 2022-05-16 content of the smart contract, and after a feedback of agreement on deployment is received, deploying the smart contract into the transaction channel.
8. The blockchain-smart-contract debugging and releasing system of claim 7, further comprising:
a first storage module, for recording test data generated when the smart contract is operated in the test channel into the test channel; and a first query module, for the user to operate to query the test data in the test channel.
9. The blockchain-smart-contract debugging and releasing system of claim 8, further comprising:
a deletion module, for deleting the test data after the consensus is reached among all the users in the test channel.
10. The blockchain-smart-contract debugging and releasing system of claim 7 or 8, further comprising :
a second storage module, for recording a block and/or transaction data generated when the smart contract is operated in the transaction channel into the transaction channel;
and a second query module, for the user to operate to query the block and/or transaction data in the transaction channel.
Date Recue/Date Received 2022-05-16
CA3161753A 2018-11-19 2019-09-16 Blockchain-smart-contract debugging and releasing method and system thereof Pending CA3161753A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201811381098.4 2018-11-19
CN201811381098.4A CN109670951B (en) 2018-11-19 2018-11-19 Block chain intelligent contract debugging and publishing method and system
PCT/CN2019/106021 WO2020103545A1 (en) 2018-11-19 2019-09-16 Blockchain-based smart contract debugging and releasing method and system

Publications (1)

Publication Number Publication Date
CA3161753A1 true CA3161753A1 (en) 2020-05-28

Family

ID=66141813

Family Applications (1)

Application Number Title Priority Date Filing Date
CA3161753A Pending CA3161753A1 (en) 2018-11-19 2019-09-16 Blockchain-smart-contract debugging and releasing method and system thereof

Country Status (3)

Country Link
CN (1) CN109670951B (en)
CA (1) CA3161753A1 (en)
WO (1) WO2020103545A1 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109670951B (en) * 2018-11-19 2021-03-26 南京苏宁软件技术有限公司 Block chain intelligent contract debugging and publishing method and system
CN110290168B (en) * 2019-05-08 2022-04-12 深圳壹账通智能科技有限公司 Data transmission method, device, server and storage medium
CN110347609B (en) * 2019-07-18 2023-05-23 腾讯科技(深圳)有限公司 Method and device for testing blockchain software
CN110543419B (en) * 2019-08-28 2021-09-03 杭州趣链科技有限公司 Intelligent contract code vulnerability detection method based on deep learning technology
CN111290958B (en) * 2020-02-20 2023-05-30 联动优势科技有限公司 Method and device for debugging intelligent contract
CN111459504B (en) * 2020-03-30 2023-07-04 百度国际科技(深圳)有限公司 Intelligent contract processing method, device, equipment and storage medium
CN111782551B (en) * 2020-08-04 2021-07-27 腾讯科技(深圳)有限公司 Test method and device for block chain item and computer equipment
CN111723102A (en) * 2020-08-21 2020-09-29 支付宝(杭州)信息技术有限公司 Intelligent contract updating method and device
CN111984271B (en) * 2020-08-27 2023-11-03 京东科技信息技术有限公司 Block chain application program processing method and device and block chain application system
CN112433939A (en) * 2020-11-19 2021-03-02 腾讯科技(深圳)有限公司 Intelligent contract testing method and device
CN113672632A (en) * 2021-08-06 2021-11-19 戈尔特西斯科技(济南)有限公司 Quick query and call method for change records of historical data on chain based on intelligent contract
CN113961202B (en) * 2021-12-21 2022-02-22 北京中科金财科技股份有限公司 Method and system for automatically debugging intelligent contract

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934138B1 (en) * 2016-12-07 2018-04-03 International Business Machines Corporation Application testing on a blockchain
CN108073513A (en) * 2017-04-21 2018-05-25 富士通株式会社 The apparatus and method tested the intelligent contract based on block chain
CN107943691B (en) * 2017-11-17 2022-03-01 深圳圣马歌科技有限公司 Method and device for automatically generating function test page of intelligent contract
CN108304307B (en) * 2018-01-24 2022-03-04 深圳圣马歌科技有限公司 Performance detection method of intelligent contract on block chain
CN108446947B (en) * 2018-02-07 2021-05-18 平安科技(深圳)有限公司 Real estate transaction method and device
CN108763058A (en) * 2018-04-24 2018-11-06 苏州同济区块链研究院有限公司 A kind of block chain evaluation system
CN108628745A (en) * 2018-05-03 2018-10-09 深圳市牛鼎丰科技有限公司 Track record system, method, computer equipment and the storage medium of application program
CN108776890A (en) * 2018-06-04 2018-11-09 青岛大学 A kind of believable intelligent paying out wages method and system based on block chain
CN109670951B (en) * 2018-11-19 2021-03-26 南京苏宁软件技术有限公司 Block chain intelligent contract debugging and publishing method and system

Also Published As

Publication number Publication date
CN109670951A (en) 2019-04-23
CN109670951B (en) 2021-03-26
WO2020103545A1 (en) 2020-05-28

Similar Documents

Publication Publication Date Title
CA3161753A1 (en) Blockchain-smart-contract debugging and releasing method and system thereof
US8677320B2 (en) Software testing supporting high reuse of test data
US11042471B2 (en) System and method for providing a test manager for use with a mainframe rehosting platform
US8387066B1 (en) Dependency-based task management using set of preconditions to generate scheduling data structure in storage area network
US10785128B1 (en) System, apparatus and method for deploying infrastructure to the cloud
US9513936B2 (en) Dynamically loadable composite software application
CN107908543A (en) Applied program testing method, device, computer equipment and storage medium
US9589240B2 (en) System and method for flexible chaining of distinct workflow task instances in a business process execution language workflow
WO2018145559A1 (en) Method and system for generating continuous integration pipeline
CN108845954A (en) Method for testing pressure, system and storage medium
US8645766B2 (en) Serialized error injection into a function under test
CN111061551A (en) Node merging and scheduling method, device, equipment and storage medium
Schulz et al. Towards automating representative load testing in continuous software engineering
US20160266882A1 (en) Systems and processes of accessing backend services with a mobile application
CN111309624B (en) Test method, test device, test equipment and storage medium
US10466974B2 (en) Independent expression animations
US10496402B1 (en) System, method, and computer program for defining and utilizing minimal testable values for software project development and operations
CN113407914A (en) Network software authority control method, device, equipment and storage medium
JP2004348736A (en) Technique for creating activation solution for providing commercial network service
CN106446233A (en) Web-based Linux file management method and device
CN110991983A (en) Task processing method, device, medium and equipment
CN109947645A (en) Automatic configuration tool method and system
CN116521509A (en) Intelligent contract testing method, device, equipment, storage medium and product
CN110992166B (en) Method and device for testing online loan application
CN114936152A (en) Application testing method and device

Legal Events

Date Code Title Description
EEER Examination request

Effective date: 20220916

EEER Examination request

Effective date: 20220916

EEER Examination request

Effective date: 20220916

EEER Examination request

Effective date: 20220916

EEER Examination request

Effective date: 20220916