CN112527781B - 一种智能合约数据迁移方法及*** - Google Patents

一种智能合约数据迁移方法及*** Download PDF

Info

Publication number
CN112527781B
CN112527781B CN202011539896.2A CN202011539896A CN112527781B CN 112527781 B CN112527781 B CN 112527781B CN 202011539896 A CN202011539896 A CN 202011539896A CN 112527781 B CN112527781 B CN 112527781B
Authority
CN
China
Prior art keywords
intelligent contract
data
transaction
version
new version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011539896.2A
Other languages
English (en)
Other versions
CN112527781A (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.)
Shanghai Wanxiang Blockchain Inc
Original Assignee
Shanghai Wanxiang Blockchain Inc
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 Shanghai Wanxiang Blockchain Inc filed Critical Shanghai Wanxiang Blockchain Inc
Priority to CN202011539896.2A priority Critical patent/CN112527781B/zh
Publication of CN112527781A publication Critical patent/CN112527781A/zh
Application granted granted Critical
Publication of CN112527781B publication Critical patent/CN112527781B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种智能合约数据迁移方法及***,包括:步骤M1:通过智能合约命令管理模块验证用户输入的智能合约操作,并根据操作内容生成对应的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识;步骤M2:智能合约数据迁移模块收到智能合约管理交易后根据交易的内容将旧版本智能合约中的数据迁移到新版本智能合约。本发明可以减少智能合约因升级而导致的长链路调用,无需在新版智能合约中硬编码指向旧版本智能合约的地址,简化了智能合约的开发逻辑。

Description

一种智能合约数据迁移方法及***
技术领域
本发明涉及区块链技术领域,具体地,涉及一种智能合约数据迁移方法及***,更为具体地,涉及一种高效的智能合约数据迁移方案。
背景技术
区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,用于存储区块链网络上所有用户的余额,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。
智能合约,区块链上的智能合约是指由solidity编写和编译并运行与区块链上的一串二进制代码,我们可以通过智能合约实现在区块链上的数据存储、读写以及一些逻辑操作,因此一些基于区块链的应用是利用智能合约完成的。
现有的智能合约升级常使用硬编码迁移法,新版本的数据合约中保存一个指向旧版本数据合约的合约地址,新版本数据合约保存的是增量的数据内容。但是持续不断的版本升级会导致形成较长的链式逻辑关系,维护成本较高。
专利文献CN107145521B(申请号:201710230002.3)公开了一种面向区块链多级智能合约的数据迁移方法。包括如下步骤:1)对于有多个合约相互调用的合约***,构建合约树状模型;2)迁移顶层合约除子节点合约地址以外的数据;3)判断当前合约所在节点是否为叶子节点;4)部署叶子节点的新合约并迁移该合约的数据,存储叶子节点的合约地址;5)所有子节点合约的数据迁移完毕,部署新合约迁移合约数据并存储所有子节点合约的新地址;6)重复进行步骤3)到步骤5),迁移顶层合约的所有子合约的合约地址参数。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种智能合约数据迁移方法及***。
根据本发明提供的一种智能合约数据迁移方法,包括:
步骤M1:通过智能合约命令管理模块验证用户输入的智能合约操作,并根据操作内容生成对应的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识;
步骤M2:智能合约数据迁移模块收到智能合约管理交易后根据交易的内容将旧版本智能合约中的数据迁移到新版本智能合约。
优选地,所述步骤M1包括:智能合约命令管理模块根据用户输入的智能合约操作,对智能合约操作进行权限以及可行性验证,生成对应操作的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识。
优选地,所述智能合约管理交易包括迁移操作具体内容,包括迁移操作的发起人、旧版本智能合约地址、新版本智能合约地址和交易签名信息。
优选地,所述步骤M2包括:智能合约数据迁移模块接收到交易共识后的区块,检索当前区块内的交易中是否包含智能合约管理交易,当检索到智能合约管理交易,则根据智能合约管理交易中的内容,将旧版本智能合约中的数据迁移到新版本智能合约中;当没有检索到智能合约管理交易,则跳过当前迁移操作。
优选地,所述新版本智能合约包括新版本智能合约存储结构继承于旧版本智能合约存储结构的方式,使得在新版本智能合约中使用旧版本智能合约数据属性的同时,能够在新版本智能合约中添加新的数据属性。
优选地,所述步骤M2中旧版本智能合约中的数据迁移到新版本智能合约包括利用智能合约在区块链上的存储树原理,通过底层编码实现规范的数据迁移的方式,使新版本智能合约的存储树直接从旧版本合约的存储树上衍生。
优选地,所述步骤M2中旧版本智能合约中的数据迁移到新版本智能合约包括:
数据迁移操作被触发执行时,通过旧版本智能合约的地址,查找到旧版本智能合约对应的账户信息,并根据账户信息中的根哈希获取旧版本智能合约中存储的数据树,智能合约数据迁移模块遍历数据树中的每一个节点,获取节点的键和节点的值,截取节点键内容中数据存储时的键值,并和新版本智能合约的合约地址组合生成新的键,根据新的键重新构建新版本智能合约的存储树,将节点数据加入到新版本智能合约的存储树中,旧版本智能合约的数据遍历完成后,新版本智能合约的存储树中就包含了旧版本智能合约的所有数据,最后将新版本智能合约的根哈希指向新版本智能合约的存储树的树根完成数据迁移。
根据本发明提供的一种智能合约数据迁移***,包括:
模块M1:通过智能合约命令管理模块验证用户输入的智能合约操作,并根据操作内容生成对应的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识;
模块M2:智能合约数据迁移模块收到智能合约管理交易后根据交易的内容将旧版本智能合约中的数据迁移到新版本智能合约。
优选地,所述模块M1包括:智能合约命令管理模块根据用户输入的智能合约操作,对智能合约操作进行权限以及可行性验证,生成对应操作的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识;
所述智能合约管理交易包括迁移操作具体内容,包括迁移操作的发起人、旧版本智能合约地址、新版本智能合约地址和交易签名信息。
优选地,所述模块M2包括:智能合约数据迁移模块接收到交易共识后的区块,检索当前区块内的交易中是否包含智能合约管理交易,当检索到智能合约管理交易,则根据智能合约管理交易中的内容,将旧版本智能合约中的数据迁移到新版本智能合约中;当没有检索到智能合约管理交易,则跳过当前迁移操作;
所述新版本智能合约包括新版本智能合约存储结构继承于旧版本智能合约存储结构的方式,使得在新版本智能合约中使用旧版本智能合约数据属性的同时,能够在新版本智能合约中添加新的数据属性;
所述模块M2中旧版本智能合约中的数据迁移到新版本智能合约包括利用智能合约在区块链上的存储树原理,通过底层编码实现规范的数据迁移的方式,使新版本智能合约的存储树直接从旧版本合约的存储树上衍生;
所述模块M2中旧版本智能合约中的数据迁移到新版本智能合约包括:
数据迁移操作被触发执行时,通过旧版本智能合约的地址,查找到旧版本智能合约对应的账户信息,并根据账户信息中的根哈希获取旧版本智能合约中存储的数据树,智能合约数据迁移模块遍历数据树中的每一个节点,获取节点的键和节点的值,截取节点键内容中数据存储时的键值,并和新版本智能合约的合约地址组合生成新的键,根据新的键重新构建新版本智能合约的存储树,将节点数据加入到新版本智能合约的存储树中,旧版本智能合约的数据遍历完成后,新版本智能合约的存储树中就包含了旧版本智能合约的所有数据,最后将新版本智能合约的根哈希指向新版本智能合约的存储树的树根完成数据迁移。
与现有技术相比,本发明具有如下的有益效果:
1、本发明可以减少智能合约因升级而导致的长链路调用,无需在新版智能合约中硬编码指向旧版本智能合约的地址,简化了智能合约的开发逻辑;
2、本发明通过智能合约数据迁移模块可以简化数据迁移的操作,在保证操作原子性进行的前提下,无需进行额外的硬编码。
3、本发明能够提高数据迁移的准确性和原子性,并且提高数据迁移的效率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为一种智能合约数据迁移***示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
根据本发明提供的一种智能合约数据迁移***,包括:
步骤M1:通过智能合约命令管理模块验证用户输入的智能合约操作,并根据操作内容生成对应的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识;
步骤M2:智能合约数据迁移模块收到智能合约管理交易后根据交易的内容将旧版本智能合约中的数据迁移到新版本智能合约。
具体地,所述步骤M1包括:智能合约命令管理模块根据用户输入的智能合约操作,对智能合约操作进行权限以及可行性验证,生成对应操作的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识。
具体地,所述智能合约管理交易包括迁移操作具体内容,包括迁移操作的发起人、旧版本智能合约地址、新版本智能合约地址和交易签名信息。
具体地,所述步骤M2包括:智能合约数据迁移模块接收到交易共识后的区块,检索当前区块内的交易中是否包含智能合约管理交易,当检索到智能合约管理交易,则根据智能合约管理交易中的内容,将旧版本智能合约中的数据迁移到新版本智能合约中;当没有检索到智能合约管理交易,则跳过当前迁移操作。
具体地,所述新版本智能合约包括新版本智能合约存储结构继承于旧版本智能合约存储结构的方式,使得在新版本智能合约中使用旧版本智能合约数据属性的同时,能够在新版本智能合约中添加新的数据属性。
具体地,所述步骤M2中旧版本智能合约中的数据迁移到新版本智能合约包括利用智能合约在区块链上的存储树原理,通过底层编码实现规范的数据迁移的方式,使新版本智能合约的存储树直接从旧版本合约的存储树上衍生。
具体地,所述步骤M2中旧版本智能合约中的数据迁移到新版本智能合约包括:
数据迁移操作被触发执行时,通过旧版本智能合约的地址,查找到旧版本智能合约对应的账户信息,并根据账户信息中的根哈希获取旧版本智能合约中存储的数据树,智能合约数据迁移模块遍历数据树中的每一个节点,获取节点的键和节点的值,截取节点键内容中数据存储时的键值,并和新版本智能合约的合约地址组合生成新的键,根据新的键重新构建新版本智能合约的存储树,将节点数据加入到新版本智能合约的存储树中,旧版本智能合约的数据遍历完成后,新版本智能合约的存储树中就包含了旧版本智能合约的所有数据,最后将新版本智能合约的根哈希指向新版本智能合约的存储树的树根完成数据迁移。
根据本发明提供的一种智能合约数据迁移***,如图1所示,包括:
模块M1:通过智能合约命令管理模块验证用户输入的智能合约操作,并根据操作内容生成对应的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识;
模块M2:智能合约数据迁移模块收到智能合约管理交易后根据交易的内容将旧版本智能合约中的数据迁移到新版本智能合约。
具体地,所述模块M1包括:智能合约命令管理模块根据用户输入的智能合约操作,对智能合约操作进行权限以及可行性验证,生成对应操作的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识;
所述智能合约管理交易包括迁移操作具体内容,包括迁移操作的发起人、旧版本智能合约地址、新版本智能合约地址和交易签名信息。
具体地,所述模块M2包括:智能合约数据迁移模块接收到交易共识后的区块,检索当前区块内的交易中是否包含智能合约管理交易,当检索到智能合约管理交易,则根据智能合约管理交易中的内容,将旧版本智能合约中的数据迁移到新版本智能合约中;当没有检索到智能合约管理交易,则跳过当前迁移操作;
所述新版本智能合约包括新版本智能合约存储结构继承于旧版本智能合约存储结构的方式,使得在新版本智能合约中使用旧版本智能合约数据属性的同时,能够在新版本智能合约中添加新的数据属性;
所述模块M2中旧版本智能合约中的数据迁移到新版本智能合约包括利用智能合约在区块链上的存储树原理,通过底层编码实现规范的数据迁移的方式,使新版本智能合约的存储树直接从旧版本合约的存储树上衍生;
所述模块M2中旧版本智能合约中的数据迁移到新版本智能合约包括:
数据迁移操作被触发执行时,通过旧版本智能合约的地址,查找到旧版本智能合约对应的账户信息,并根据账户信息中的根哈希获取旧版本智能合约中存储的数据树,智能合约数据迁移模块遍历数据树中的每一个节点,获取节点的键和节点的值,截取节点键内容中数据存储时的键值,并和新版本智能合约的合约地址组合生成新的键,根据新的键重新构建新版本智能合约的存储树,将节点数据加入到新版本智能合约的存储树中,旧版本智能合约的数据遍历完成后,新版本智能合约的存储树中就包含了旧版本智能合约的所有数据,最后将新版本智能合约的根哈希指向新版本智能合约的存储树的树根完成数据迁移。
在智能合约进行合约升级后,无需显式的将旧版本智能合约的数据迁移到新版本智能合约中,调用新版本智能合约可以访问旧版本智能合约的数据。
实施例2
实施例2是实施例1的变化例
在原有的智能合约数据迁移场景中,往往需要通过智能合约硬编码的方式,在新版本智能合约中保存一个指向旧版本智能合约的合约地址,通过链式的调用来访问旧版本智能合约的数据。持续不断的升级会导致行程较长的调用链路,增加维护成本。
一种高效的智能合约数据迁移方案,包括:智能合约命令管理模块,智能合约数据迁移模块。
智能合约命令管理模块包含对合约操作命令的管理功能;
智能合约数据迁移模块包含对合约的部署、升级、数据迁移等功能;
1.2、基于***框架结构中的各个模块,描述整个***的工作流程,体现各模块之间的配合关系:
所述智能合约命令管理模块接收用户输入的智能合约操作内容,并由该模块整合、构建智能合约管理交易。
所述智能合约数据迁移模块
首先验证迁移操作的可行性,获取旧版本智能合约的管理者和新版本智能合约的管理者,并和迁移操作的发起者进行权限判断,是否有执行迁移操作的权限。
该模块采用语言的面向对象的继承特性,通过新版本合约存储结构继承于旧版本合约存储结构的方式,使得用户可以在新版本合约中使用旧版本合约数据属性的同时,也可以在新版本合约中添加新的数据属性。
该模块利用智能合约在区块链上的存储树原理,通过底层编码实现规范的数据迁移的方式,使新版本合约的存储树直接从旧版本合约的存储树上衍生。
每个合约账户对应一个状态对象,而每一个状态对象都有一个“账户”(Account)类型的成员变量,在“账户”对象中又包含了存储树的根哈希(Root),可以根据根哈希索引到此智能合约账户中的所有已存储的数据。在该模块中,数据迁移操作被触发执行时,***通过旧版智能合约的地址,查找到该智能合约对应的账户信息,并根据账户信息中的根哈希获取旧版本智能合约中存储的数据树,其中数据树通过“键”(keytrie)、“值”(data)的方式来唯一定位数据的地址,数据树中的“键”(keytrie)的内容由智能合约的合约地址(address)加上数据存储时的键值(key)组合而成。迁移模块迭代遍历数据树中的每一个节点,获取节点的“键”(keytrie)和节点的“值”(data),截取节点“键”(keytrie)内容中数据存储时的键值(key),并和新版本智能合约的合约地址(address)组合生成新的“键”(keytrie),将节点数据加入到新版本智能合约的存储树中。旧版本智能合约的数据遍历完成后,新版本智能合约的存储树中就包含了旧版本智能合约的所有数据,最后将新版本智能合约的根哈希指向新版本智能合约的存储树的树根完成数据迁移。
其中“账户”的数据结构如下:
Figure BDA0002854260870000071
Figure BDA0002854260870000081
上述的智能合约数据迁移模块可以和合约部署模块进行整合,完成从部署到数据迁移原子化的操作;在生成特定的智能合约升级交易中添加合约部署交易的信息,将两笔交易合并成一笔交易。智能合约数据迁移模块处理该交易时,先部署新版本智能合约,再将旧版本智能合约存储的数据迁移到前一步部署的智能合约中。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的***、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (7)

1.一种智能合约数据迁移方法,其特征在于,包括:
步骤M1:通过智能合约命令管理模块验证用户输入的智能合约操作,并根据操作内容生成对应的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识;
步骤M2:智能合约数据迁移模块收到智能合约管理交易后根据交易的内容将旧版本智能合约中的数据迁移到新版本智能合约;
所述新版本智能合约包括新版本智能合约存储结构继承于旧版本智能合约存储结构的方式,使得在新版本智能合约中使用旧版本智能合约数据属性的同时,能够在新版本智能合约中添加新的数据属性;
所述步骤M2中旧版本智能合约中的数据迁移到新版本智能合约包括利用智能合约在区块链上的存储树原理,通过底层编码实现规范的数据迁移的方式,使新版本智能合约的存储树直接从旧版本合约的存储树上衍生;
所述步骤M2中旧版本智能合约中的数据迁移到新版本智能合约包括:
数据迁移操作被触发执行时,通过旧版本智能合约的地址,查找到旧版本智能合约对应的账户信息,并根据账户信息中的根哈希获取旧版本智能合约中存储的数据树,智能合约数据迁移模块遍历数据树中的每一个节点,获取节点的键和节点的值,截取节点键内容中数据存储时的键值,并和新版本智能合约的合约地址组合生成新的键,根据新的键重新构建新版本智能合约的存储树,将节点数据加入到新版本智能合约的存储树中,旧版本智能合约的数据遍历完成后,新版本智能合约的存储树中就包含了旧版本智能合约的所有数据,最后将新版本智能合约的根哈希指向新版本智能合约的存储树的树根完成数据迁移。
2.根据权利要求1所述的智能合约数据迁移方法,其特征在于,所述步骤M1包括:智能合约命令管理模块根据用户输入的智能合约操作,对智能合约操作进行权限以及可行性验证,生成对应操作的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识。
3.根据权利要求2所述的智能合约数据迁移方法,其特征在于,所述智能合约管理交易包括迁移操作具体内容,包括迁移操作的发起人、旧版本智能合约地址、新版本智能合约地址和交易签名信息。
4.根据权利要求1所述的智能合约数据迁移方法,其特征在于,所述步骤M2包括:智能合约数据迁移模块接收到交易共识后的区块,检索当前区块内的交易中是否包含智能合约管理交易,当检索到智能合约管理交易,则根据智能合约管理交易中的内容,将旧版本智能合约中的数据迁移到新版本智能合约中;当没有检索到智能合约管理交易,则跳过当前迁移操作。
5.一种智能合约数据迁移***,其特征在于,包括:
步骤 M1:通过智能合约命令管理模块验证用户输入的智能合约操作,并根据操作内容生成对应的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识;
步骤 M2:智能合约数据迁移模块收到智能合约管理交易后根据交易的内容将旧版本智能合约中的数据迁移到新版本智能合约;
所述新版本智能合约包括新版本智能合约存储结构继承于旧版本智能合约存储结构的方式,使得在新版本智能合约中使用旧版本智能合约数据属性的同时,能够在新版本智能合约中添加新的数据属性;
所述步骤M2中旧版本智能合约中的数据迁移到新版本智能合约包括利用智能合约在区块链上的存储树原理,通过底层编码实现规范的数据迁移的方式,使新版本智能合约的存储树直接从旧版本合约的存储树上衍生;
所述步骤M2中旧版本智能合约中的数据迁移到新版本智能合约包括:
数据迁移操作被触发执行时,通过旧版本智能合约的地址,查找到旧版本智能合约对应的账户信息,并根据账户信息中的根哈希获取旧版本智能合约中存储的数据树,智能合约数据迁移模块遍历数据树中的每一个节点,获取节点的键和节点的值,截取节点键内容中数据存储时的键值,并和新版本智能合约的合约地址组合生成新的键,根据新的键重新构建新版本智能合约的存储树,将节点数据加入到新版本智能合约的存储树中,旧版本智能合约的数据遍历完成后,新版本智能合约的存储树中就包含了旧版本智能合约的所有数据,最后将新版本智能合约的根哈希指向新版本智能合约的存储树的树根完成数据迁移。
6.根据权利要求5所述的智能合约数据迁移***,其特征在于,所述模块M1包括:智能合约命令管理模块根据用户输入的智能合约操作,对智能合约操作进行权限以及可行性验证,生成对应操作的智能合约管理交易,并将智能合约管理交易发送到区块网络中进行交易共识;
所述智能合约管理交易包括迁移操作具体内容,包括迁移操作的发起人、旧版本智能合约地址、新版本智能合约地址和交易签名信息。
7.根据权利要求5所述的智能合约数据迁移***,其特征在于,所述模块M2包括:智能合约数据迁移模块接收到交易共识后的区块,检索当前区块内的交易中是否包含智能合约管理交易,当检索到智能合约管理交易,则根据智能合约管理交易中的内容,将旧版本智能合约中的数据迁移到新版本智能合约中;当没有检索到智能合约管理交易,则跳过当前迁移操作。
CN202011539896.2A 2020-12-23 2020-12-23 一种智能合约数据迁移方法及*** Active CN112527781B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011539896.2A CN112527781B (zh) 2020-12-23 2020-12-23 一种智能合约数据迁移方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011539896.2A CN112527781B (zh) 2020-12-23 2020-12-23 一种智能合约数据迁移方法及***

Publications (2)

Publication Number Publication Date
CN112527781A CN112527781A (zh) 2021-03-19
CN112527781B true CN112527781B (zh) 2022-07-15

Family

ID=74975895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011539896.2A Active CN112527781B (zh) 2020-12-23 2020-12-23 一种智能合约数据迁移方法及***

Country Status (1)

Country Link
CN (1) CN112527781B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065867B (zh) * 2021-03-30 2023-06-30 上海万向区块链股份公司 基于数据重放的非兼容性区块链升级***、方法及介质
CN113760353B (zh) * 2021-08-27 2024-01-02 浙商银行股份有限公司 一种区块链智能合约版本控制方法及区块链***
CN116702157B (zh) * 2023-06-21 2023-12-26 烟台大学 一种基于神经网络的智能合约漏洞检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106709704A (zh) * 2016-11-23 2017-05-24 杭州秘猿科技有限公司 一种基于许可链的智能合约升级方法
CN109978477A (zh) * 2017-12-27 2019-07-05 现代财富控股有限公司 基于区块链的智能合约版本控管***及其方法
CN110413304A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
CN111932260A (zh) * 2020-09-18 2020-11-13 杭州趣链科技有限公司 一种智能合约版本的管理方法、设备及可读存储介质
CN111949297A (zh) * 2020-08-20 2020-11-17 杭州溪塔科技有限公司 一种区块链智能合约升级方法、装置及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145521B (zh) * 2017-04-10 2019-05-21 杭州趣链科技有限公司 一种面向区块链多级智能合约的数据迁移方法
CN107464148A (zh) * 2017-08-23 2017-12-12 众安信息技术服务有限公司 一种基于联盟链的智能合约升级方法和***
CN108170740B (zh) * 2017-12-18 2022-04-26 深圳前海微众银行股份有限公司 数据迁移方法、***和计算机可读存储介质
CN108196872A (zh) * 2017-12-27 2018-06-22 邵美 一种区块链***中智能合约的升级方法
CN110018840B (zh) * 2019-04-11 2021-12-03 深圳市迅雷网络技术有限公司 一种智能合约升级方法、装置、区块链节点设备及介质
CN112118133B (zh) * 2020-09-11 2023-06-09 北京易安睿龙科技有限公司 基于自定义结构数据便于以太坊智能合约快速升级方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106709704A (zh) * 2016-11-23 2017-05-24 杭州秘猿科技有限公司 一种基于许可链的智能合约升级方法
CN109978477A (zh) * 2017-12-27 2019-07-05 现代财富控股有限公司 基于区块链的智能合约版本控管***及其方法
CN110413304A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
CN111949297A (zh) * 2020-08-20 2020-11-17 杭州溪塔科技有限公司 一种区块链智能合约升级方法、装置及电子设备
CN111932260A (zh) * 2020-09-18 2020-11-13 杭州趣链科技有限公司 一种智能合约版本的管理方法、设备及可读存储介质

Also Published As

Publication number Publication date
CN112527781A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN112527781B (zh) 一种智能合约数据迁移方法及***
CN107562513B (zh) 一种基于java的智能合约生命周期的管理方法
CN107577427B (zh) 用于区块链***的数据迁移方法、设备和存储介质
CN112686671B (zh) 基于区块链的智能合约部署方法、装置、设备以及介质
CN109829296A (zh) 基于联盟链的智能合约的沙箱实现方法
CN103150154B (zh) 一种应用程序插件的实现方法及装置
CN105302920A (zh) 一种云存储数据的优化管理方法和***
CN112862490B (zh) 一种异步网络下的输出共识方法
CN110297721B (zh) 一种基于java的智能合约的跨合约调用方法
CN110471698A (zh) Api文档的生成方法与装置、存储介质及计算机设备
CN112269836A (zh) 一种区块链智能合约生成与管理***及其实现机制
CN112035090A (zh) 基于容器化技术实现智能合约智慧化管理***及方法
CN112261163A (zh) 一种区块链***中的状态存储方法及区块链***、节点
CN109669644A (zh) 一种数据存储的方法和装置
CN102053855B (zh) 一种软件的生成***及方法
CN114417413A (zh) 区块链文件***的文件处理方法、装置、设备及介质
CN103107919A (zh) 一种网络资源建模方法和***
CN111339193B (zh) 类别的编码方法及装置
CN111813836A (zh) 一种提高Ethereum区块链***扩展性的方法
CN111125996B (zh) 一种伪随机激励生成器的基于双向约束树指令集实现方法
US9009731B2 (en) Conversion of lightweight object to a heavyweight object
CN112287032B (zh) 一种区块链数据存储方法、装置及区块链节点
CN113076086B (zh) 元数据管理***和使用其对模型对象进行建模的方法
CN116166245A (zh) 一种领域建模方法、装置、计算机设备和存储介质
CN115543428A (zh) 一种基于策略模板的模拟数据生成方法和装置

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
GR01 Patent grant
GR01 Patent grant