【技术实现步骤摘要】
一种区块链智能合约升级方法、装置及电子设备
本说明书实施例涉及网络
,尤其涉及一种区块链智能合约升级方法、装置及电子设备。
技术介绍
现有的区块链系统中,智能合约升级一直是系统运行中不可回避的问题。现有的区块链技术不能在底层层面实现合约升级的统一解决方案,而是采用合约中调用其他合约的方法,因此每次的合约升级都需要合约管理人员再次重新设计合约中的调用。这种方案实践复杂且数据迁移困难,实操性较差。
技术实现思路
本说明书实施例提供一种区块链智能合约升级方法、装置及电子设备,用以解决现有技术中的实现复杂、数据无法平滑迁移,效率低下的问题。为了解决上述技术问题,本说明书实施例采用下述技术方案:第一方面,提供了一种区块链智能合约升级方法、所述方法包括:发送交易以部署包括第一组持久化参数的第一合约,并获取第一合约地址;发送交易以部署包括第二组持久化参数的第二合约,并获取第二合约地址;发送数据迁移交易,其交易数据包括第一合约地址、第二合约地址、所述第一组持久化参数、第二组持 ...
【技术保护点】
1.一种区块链智能合约升级方法、所述方法包括:/n发送交易以部署包括第一组持久化参数的第一合约,并获取第一合约地址;/n发送交易以部署包括第二组持久化参数的第二合约,并获取第二合约地址;/n发送数据迁移交易,其交易数据包括第一合约地址、第二合约地址、所述第一组持久化参数、第二组持久化参数;/n执行所述数据迁移交易,将所述第一组持久化参数的内容赋值给所述第二组持久化参数;/n发送并执行合约升级交易,其交易数据包括第一合约地址、第二合约地址、当前块高度,其交易内容为将所述第一合约地址设置为所述第二合约地址的代理地址。/n
【技术特征摘要】
1.一种区块链智能合约升级方法、所述方法包括:
发送交易以部署包括第一组持久化参数的第一合约,并获取第一合约地址;
发送交易以部署包括第二组持久化参数的第二合约,并获取第二合约地址;
发送数据迁移交易,其交易数据包括第一合约地址、第二合约地址、所述第一组持久化参数、第二组持久化参数;
执行所述数据迁移交易,将所述第一组持久化参数的内容赋值给所述第二组持久化参数;
发送并执行合约升级交易,其交易数据包括第一合约地址、第二合约地址、当前块高度,其交易内容为将所述第一合约地址设置为所述第二合约地址的代理地址。
2.如权利要求1所述的方法,进一步包括:参照所述第一组持久化参数中需要迁移的内容,在所述第二组持久化参数中设置对应的参数类型。
3.如权利要求2述的方法,其中执行所述数据迁移交易,将所述第一组持久化参数的内容赋值给所述第二组持久化参数之前进一步包括:
判断待迁移内容的数据类型与所述第二组持久化参数的参数类型是否相同,如果相同,则继续进行数据迁移,如果不同,则报错。
4.如权利要求3所述的方法,将所述第一合约地址设置为所述第二合约地址的代理地址前进一步包括:
判断所述第二区块链交易部署合约是否为其他智能合约的代理合约,若是,则报错;
和/或
判断所述第二区块链交易部署合约是否已经被其他智能合约所代理,若是,则报错。
5.如权利要求1-4所述的方法,进一步包括:
发送至所述第一合约地址的交易,转发至第二合约地址来执行
发送至所述第二合约地址的交易,不予执行。
6.一种区块链智能合约升级装置、所述装置包括:
第一合约部署单元:用于发送交易以部署包括第一组持久化参数的第一合约,并获取第一合约地址;
第二合约部署单元:用于发送交易以部署包括第二组持久化参数的第二合约,...
【专利技术属性】
技术研发人员:王晓亮,陈昊,
申请(专利权)人:杭州溪塔科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。