System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及区块链,特别是涉及区块链智能账户的管理方法、装置、计算机设备和存储介质。
技术介绍
1、传统的对于区块链账户的管理,通过外部拥有账户(externally owned account,eqa)来控制;例如:创建账户、发送交易等。后来提出了抽象账户的技术,通过solidity智能合约来编写账户合约,从而实现丰富的功能。目前对于区块链账户创建的实现方案为:编写solidity智能合约;在实际执行时,将solidity智能合约转成字节码,通过虚拟机执行该字节码,从而实现账户的创建。该方案存在的问题是:由于需要虚拟机介入读取字节码并执行,导致执行性能低,消耗高,难以大规模应用。
2、针对相关技术中存在执行性能低,消耗高,难以大规模应用的问题,目前还没有提出有效的解决方案。
技术实现思路
1、在本实施例中提供了一种区块链智能账户的管理方法、装置、计算机设备和存储介质,以解决相关技术中执行性能低,消耗高,难以大规模应用的问题。
2、第一个方面,在本实施例中提供了一种区块链智能账户的管理方法,包括:
3、获取用户的管理请求;
4、在所述管理请求为创建请求时,基于所述创建请求,设置参数信息中的初始化参数;所述创建请求包括调用合约地址、拥有者地址以及参数值;
5、在区块链中接收并解码所述参数信息,得到第一解码结果;根据所述第一解码结果中的所述调用合约地址调用对应的智能合约;在所述智能合约下,根据所述第一解码结果中的所述拥有者地址和
6、在其中的一些实施例中,在所述智能合约下,根据所述第一解码结果中的所述拥有者地址和所述参数值,创建所述用户的智能账户,包括:
7、在智能合约下,根据所述拥有者地址和所述参数值生成所述智能账户的智能账户地址,以完成所述用户的所述智能账户的创建;
8、设置所述参数信息中的调用方法参数为空。
9、在其中的一些实施例中,所述方法还包括:
10、在得到第一解码结果之后,判断所述初始化参数是否为空;
11、若所述初始化参数为空,则通过虚拟机,基于所述创建请求中的所述调用合约地址读取对应的字节码;基于所述字节码,创建所述用户的智能账户。
12、在其中的一些实施例中,所述方法还包括:
13、在创建所述用户的智能账户之后,将所述智能账户的智能账户地址和所述拥有者地址存储在所述区块链中;保持所述智能账户地址不变。
14、在其中的一些实施例中,所述方法还包括:
15、在所述管理请求为使用请求时,根据所述使用请求和所述用户对应的密钥,设置参数信息中的调用方法参数和签名参数;
16、在区块链中接收并解码所述参数信息,得到第二解码结果;
17、根据所述第二解码结果中的签名参数对所述使用请求进行签名认证;
18、在所述签名认证通过后,根据所述第二解码结果中的所述调用方法参数调用对应的智能合约;在所述智能合约下,使用所述用户的智能账户。
19、在其中的一些实施例中,所述方法还包括:
20、在所述管理请求为升级请求时,根据所述升级请求和所述用户对应的密钥,设置参数信息中的调用方法参数和签名参数;
21、在区块链中接收并解码所述参数信息,得到第三解码结果;
22、根据所述第三解码结果中的签名参数对所述升级请求进行签名认证;
23、在所述签名认证通过后,根据所述第三解码结果中的所述调用方法参数调用对应的智能合约;在所述智能合约下,升级所述用户的智能账户。
24、在其中的一些实施例中,所述管理请求为复合请求;所述复合请求至少包括创建请求,及至少包括使用请求和升级请求中的一种或多种。
25、第二个方面,在本实施例中提供了一种区块链智能账户的管理装置,包括:
26、获取模块,用于获取用户的管理请求;
27、设置模块,用于在所述管理请求为创建请求时,基于所述创建请求,设置参数信息中的初始化参数;所述创建请求包括调用合约地址、拥有者地址以及参数值;
28、管理模块,用于在区块链中接收并解码所述参数信息,得到第一解码结果;根据所述第一解码结果中的所述调用合约地址调用对应的智能合约;在所述智能合约下,根据所述第一解码结果中的所述拥有者地址和所述参数值,创建所述用户的智能账户。
29、第三个方面,在本实施例中提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的区块链智能账户的管理方法。
30、第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的区块链智能账户的管理方法。
31、与相关技术相比,在本实施例中提供的区块链智能账户的管理方法、装置、计算机设备和存储介质,通过获取用户的管理请求;在管理请求为创建请求时,基于创建请求,设置参数信息中的初始化参数;创建请求包括调用合约地址、拥有者地址以及参数值;在区块链中接收并解码参数信息,得到第一解码结果;根据第一解码结果中的调用合约地址调用对应的智能合约;在智能合约下,根据第一解码结果中的拥有者地址和参数值,创建用户的智能账户,解决了相关技术中执行性能低,消耗高,难以大规模应用的问题,不用虚拟机的介入即可完成智能账户的创建,提高执行性能,降低消耗;从而适用于大规模应用。
32、本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
本文档来自技高网...【技术保护点】
1.一种区块链智能账户的管理方法,其特征在于,包括:
2.根据权利要求1所述的区块链智能账户的管理方法,其特征在于,在所述智能合约下,根据所述第一解码结果中的所述拥有者地址和所述参数值,创建所述用户的智能账户,包括:
3.根据权利要求1所述的区块链智能账户的管理方法,其特征在于,所述方法还包括:
4.根据权利要求1或3所述的区块链智能账户的管理方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的区块链智能账户的管理方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的区块链智能账户的管理方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的区块链智能账户的管理方法,其特征在于,所述管理请求为复合请求;所述复合请求为创建请求、使用请求以及升级请求中的至少两种。
8.一种区块链智能账户的管理装置,其特征在于,包括:
9.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7中任一项所述的区块
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的区块链智能账户的管理方法的步骤。
...【技术特征摘要】
1.一种区块链智能账户的管理方法,其特征在于,包括:
2.根据权利要求1所述的区块链智能账户的管理方法,其特征在于,在所述智能合约下,根据所述第一解码结果中的所述拥有者地址和所述参数值,创建所述用户的智能账户,包括:
3.根据权利要求1所述的区块链智能账户的管理方法,其特征在于,所述方法还包括:
4.根据权利要求1或3所述的区块链智能账户的管理方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的区块链智能账户的管理方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的区块链智能账户的管理方法,其特征在于,所述方法还包...
【专利技术属性】
技术研发人员:姚文豪,李晓静,刘敬,汪小益,
申请(专利权)人:杭州高新区滨江区块链与数据安全研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。