System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及区块链,尤其涉及一种资源值统计方法、装置、电子设备及存储介质。
技术介绍
1、gas是区块链上的一种资源值统计单位,用于对管理区块链资源、执行智能合约、执行其他网络操作和资源转移进行统计。wasm(webassembly,浏览器指令集)是一种开放的二进制指令集,可以在web浏览器和其他环境中运行对应的指令。wasm主要应用于web浏览器的客户端。目前,wasm作为智能合约已经扩展至区块链领域。
2、wasm智能合约旨在运行任意有效的二进制指令。但是,wasm智能合约中的部分逻辑可能对计算机设备资源进行无限制消耗,同时,还会阻止区块出块,影响其他智能合约的执行,会被认为是恶意行为。而且,wasm智能合约所在的虚拟机本身缺少gas资源值统计逻辑,无法对wasm智能合约的恶意行为进行管理,也无法确保区块链资源的合理使用。
技术实现思路
1、本专利技术提供了一种资源值统计方法、装置、电子设备及存储介质,实现了wasm智能合约的gas资源值统计,实现了wasm智能合约的恶意行为的管理,保证了区块链资源的合理利用。
2、根据本专利技术的一方面,提供了一种资源值统计方法,应用于wasm智能合约,所述方法包括:
3、获取区块链节点发送的智能合约执行请求;其中,wasm智能合约中预先注入gas资源值剩余变量、gas资源值统计函数和gas资源值检查函数;
4、获取gas资源值剩余变量的gas资源当前值;
5、采用gas资源值检查
6、获取当前待执行指令对应的gas资源消耗值;
7、根据gas资源当前值和gas资源消耗值,采用gas资源值统计函数,对gas资源值剩余变量的gas资源当前值进行更新,返回执行获取gas资源值剩余变量的gas资源当前值的步骤,直至检测到gas资源值剩余变量的gas资源当前值小于等于零,或智能合约执行请求对应的待执行指令全部执行完成。
8、根据本专利技术的另一方面,提供了一种资源值统计装置,应用于wasm智能合约,其特征在于,所述装置包括:
9、智能合约执行请求获取模块,用于获取区块链节点发送的智能合约执行请求;其中,wasm智能合约中预先注入gas资源值剩余变量、gas资源值统计函数和gas资源值检查函数;
10、gas资源当前值获取模块,用于获取gas资源值剩余变量的gas资源当前值;
11、当前待执行指令执行模块,用于采用gas资源值检查函数,检测到gas资源当前值大于零时,获取智能合约执行请求对应的多个待执行指令,并从中选择以及执行当前待执行指令;
12、gas资源消耗值获取模块,用于获取当前待执行指令对应的gas资源消耗值;
13、gas资源当前值更新模块,用于根据gas资源当前值和gas资源消耗值,采用gas资源值统计函数,对gas资源值剩余变量的gas资源当前值进行更新,返回执行获取gas资源值剩余变量的gas资源当前值的步骤,直至检测到gas资源值剩余变量的gas资源当前值小于等于零,或智能合约执行请求对应的待执行指令全部执行完成。
14、根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
15、至少一个处理器;以及
16、与所述至少一个处理器通信连接的存储器;其中,
17、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的资源值统计方法。
18、根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的资源值统计方法。
19、本专利技术实施例的技术方案,通过获取区块链节点发送的智能合约执行请求;其中,wasm智能合约中预先注入gas资源值剩余变量、gas资源值统计函数和gas资源值检查函数,获取gas资源值剩余变量的gas资源当前值,采用gas资源值检查函数,检测到gas资源当前值大于零时,获取智能合约执行请求对应的多个待执行指令,并从中选择以及执行当前待执行指令,获取当前待执行指令对应的gas资源消耗值,根据gas资源当前值和gas资源消耗值,采用gas资源值统计函数,对gas资源值剩余变量的gas资源当前值进行更新,返回执行获取gas资源值剩余变量的gas资源当前值的步骤,直至检测到gas资源值剩余变量的gas资源当前值小于等于零,或智能合约执行请求对应的待执行指令全部执行完成,解决了wasm智能合约中的部分逻辑对计算机设备资源的无限制消耗,同时,还会阻止区块出块,影响其他智能合约的执行,会被认为是恶意行为,难以管理的问题,而且,也解决了wasm智能合约所在的虚拟机本身缺少gas资源值统计逻辑,无法对wasm智能合约的恶意行为进行管理,也无法确保区块链资源的合理使用的问题,实现了wasm智能合约的gas资源值统计,实现了wasm智能合约的恶意行为的管理,保证了区块链资源的合理利用。
20、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.一种资源值统计方法,其特征在于,应用于WASM智能合约,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述获取区块链节点发送的智能合约执行请求之前,还包括:
3.根据权利要求1所述的方法,其特征在于,在所述获取区块链节点发送的智能合约执行请求之前,还包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述GAS资源当前值和所述GAS资源消耗值,采用所述GAS资源值统计函数,对所述GAS资源值剩余变量的GAS资源当前值进行更新,包括:
5.根据权利要求1所述的方法,其特征在于,在所述获取所述当前待执行指令对应的GAS资源消耗值之前,还包括:
6.根据权利要求5所述的方法,其特征在于,所述区块链节点设备资源使用量包括区块链节点计算设备资源使用量和区块链节点存储设备资源使用量。
7.一种资源值统计装置,其特征在于,应用于WASM智能合约,所述装置包括:
8.一种电子设备,其特征在于,所述电子设备包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储
...【技术特征摘要】
1.一种资源值统计方法,其特征在于,应用于wasm智能合约,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述获取区块链节点发送的智能合约执行请求之前,还包括:
3.根据权利要求1所述的方法,其特征在于,在所述获取区块链节点发送的智能合约执行请求之前,还包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述gas资源当前值和所述gas资源消耗值,采用所述gas资源值统计函数,对所述gas资源值剩余变量的gas资源当前值进行更新,包括:
5.根据权利要求1所述的方法,其特...
【专利技术属性】
技术研发人员:朱名生,王磊,兰春嘉,
申请(专利权)人:上海零数众合信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。