[发明专利]区块链交易内的脚本内函数在审
| 申请号: | 202080038405.8 | 申请日: | 2020-04-22 |
| 公开(公告)号: | CN113874839A | 公开(公告)日: | 2021-12-31 |
| 发明(设计)人: | 克洛伊·塔尔坦;巴席姆·阿玛尔;杰克·戴维斯;张伟;欧文·沃恩;克雷格·赖特;贾德·瓦哈布 | 申请(专利权)人: | 区块链控股有限公司 |
| 主分类号: | G06F9/52 | 分类号: | G06F9/52;G06Q20/02 |
| 代理公司: | 北京中原华和知识产权代理有限责任公司 11019 | 代理人: | 孙磊;徐民 |
| 地址: | 安提瓜和巴布达圣*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 区块 交易 脚本 函数 | ||
1.一种计算机实现的方法,所述计算机实现的方法执行区块链的交易,其中,所述交易包括至少一个输出,所述至少一个输出包括锁定脚本,其中,所述锁定脚本包括第一操作码的实例和第二操作码的一个或更多个实例,所述第二操作码的每个实例分隔所述锁定脚本的各部分,并且其中,所述方法包括:
在调用所述第一操作码的所述实例时,从至少一个堆栈中读取第一数据元素,其中,在使用不同交易的解锁脚本执行所述锁定脚本期间生成所述第一数据元素;以及
输出所述锁定脚本的第一部分,所述第一部分跟在对应于所述第一数据元素的所述第二操作码的实例之后。
2.根据权利要求1所述的方法,其中,所述输出包括至少执行所述锁定脚本的所述第一部分的某些内容。
3.根据权利要求1或2所述的方法,所述方法包括:
创建子脚本,所述子脚本从所述第二操作码的第一实例开始并且随后是将在所述第二操作码的所述第一实例之后执行的所述锁定脚本的其余部分,其中,所述锁定脚本的所述第一部分是所述子脚本的第一部分。
4.根据权利要求3所述的方法,其中,所述锁定脚本和所述子脚本存储在节点的存储器中,并且其中,所述输出包括使用所述存储器中的所述子脚本的所述第一部分替换所述锁定脚本的未执行部分。
5.根据权利要求3或4所述的方法,所述方法包括:
在执行所述锁定脚本之前,扫描所述锁定脚本以查找所述第一操作码的任何实例;并且
如果所述锁定脚本包括所述操作码的任何实例,则创建所述子脚本。
6.根据前述任一项权利要求所述的方法,所述方法包括将所述第一数据元素解释为所述第二操作码的所述实例的地址。
7.根据前述任一项权利要求所述的方法,所述方法包括在以下至少一种情况下终止执行所述锁定脚本:
所述第一数据元素不是正整数;以及
所述第一数据元素大于所述第二操作码的实例的总数。
8.根据从属于权利要求2的前述任一项权利要求所述的方法,其中,所述锁定脚本的所述第一部分包括所述第一操作码的第二实例,并且其中,所述方法包括:
在调用所述第一操作码的所述第二实例时,从至少一个堆栈中读取第二数据元素,其中,在执行所述锁定脚本的所述第一部分期间生成所述第二数据元素;以及
输出所述锁定脚本的第二部分,所述第二部分跟在对应于所述第二数据元素的所述第二操作码的实例之后。
9.根据权利要求8所述的方法,其中,所述输出所述锁定脚本的所述第二部分包括至少执行所述锁定脚本的所述第二部分的某些内容。
10.根据从属于权利要求4的前述任一项权利要求所述的方法,其中,所述锁定脚本的所述第二部分是所述子脚本的第二部分,并且其中,所述方法包括使用所述存储器中的所述子脚本的所述第二部分替换所述锁定脚本的所述第一部分的未执行部分。
11.一种计算机程序,所述计算机程序包含在计算机可读存储器上,并且被配置为当在区块链网络的节点上运行时,执行根据前述任一项权利要求所述的方法。
12.一种计算设备,所述计算设备包括:
存储器,所述存储器包括一个或更多个存储器单元;以及
处理装置,所述处理装置包括一个或更多个处理单元,其中,所述存储器存储被设置成在所述处理装置上运行的代码,所述代码被配置为当在所述处理装置上运行时,执行根据权利要求1至10中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于区块链控股有限公司,未经区块链控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080038405.8/1.html,转载请声明来源钻瓜专利网。





