[发明专利]智能合约部署方法、装置及计算机可读存储介质在审
申请号: | 202111000189.0 | 申请日: | 2021-08-30 |
公开(公告)号: | CN115730006A | 公开(公告)日: | 2023-03-03 |
发明(设计)人: | 迟钰瀚;徐铁兵;杜坚;刘志鹏 | 申请(专利权)人: | 杭州时戳信息科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F21/60;G06F21/64;G06Q40/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 311100 浙江省杭州市余杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 部署 方法 装置 计算机 可读 存储 介质 | ||
本申请涉及一种基于UTXO模型的智能合约部署方法,包括:获取区块中第一交易的输出脚本,所述输出脚本符合智能合约注册协议规范;根据所述第一交易的输出脚本,获取到完整的智能合约内容;根据所述智能合约内容代码生成所述智能合约哈希值;将所述智能合约的哈希值及智能合约的内容同时存储在节点的数据库中,生成对应的信息存储地址;获取区块中第二交易的输出脚本,所述输出脚本符合调用合约规范;根据所述第二交易的内容代码生成第二交易的哈希值;根据所述第二交易的哈希值、智能合约哈希值、信息存储地址,完成智能合约的二次部署;采用本申请提供的方案,可达到区块链合约注册协议注册部署智能合约不需要重复将完整的智能合约多次上链,减小部署智合约的交易体积的效果,从而降低部署智能合约交易对区块空间的占用。
技术领域
本申请涉及计算机技术领域,特别是涉及一种智能合约部署方法、装置及计算机可读存储介质。
背景技术
在现有的UTXO模型的区块链上部署调用智能合约步骤分为,使用类似equity这样的高级语言编写智能合约,通过编译器将写好的智能合约编译为二进制,将编译好的智能合约作为交易输出参数构建发送交易到区块链网络,当这笔交易得到确认智能合约就完成了在区块链上的部署。当需要多次使用该智能合约的时候需要将上述步骤重复多次,需要多次将完整的智能合约内容上链。当用户实现的合约逻辑过于复杂,导致编译后的二进制合约的体积太大,多次部署该合约上链的交易会占用大量区块空间。
发明内容
为解决上述技术问题,提供一种智能合约部署方法、装置及计算机可读存储介质,通过向区块链发送一笔注册智能合约的交易,当这笔交易确认后再次部署合约可以使用智能合约的哈希来代替智能合约本身,从而节省区块空间,实现智能合约的快速部署。
一种智能合约部署方法,该方法包括:
获取区块中第一交易的输出脚本,所述输出脚本符合智能合约注册协议规范;
根据所述第一交易的输出脚本,获取到完整的智能合约内容;
根据所述智能合约内容代码生成所述智能合约哈希值;
将所述智能合约的哈希值及智能合约的内容同时存储在节点的数据库中,生成对应的信息存储地址;
获取区块中第二交易的输出脚本,所述输出脚本符合调用合约规范;
根据所述第二交易的内容代码生成第二交易的哈希值;
根据所述第二交易的哈希值、智能合约哈希值、信息存储地址,完成智能合约的二次部署;
作为优选,所述智能合约注册协议通过智能合约内容的数据长度来定义合约OP代码数据类型,具体区间如下:
当智能合约内容的数据长度为75个字符以内时,OP代码输出第一类型数据;
当智能合约内容的数据长度为75到256个字符之间时,OP代码输出第二类型数据;
当智能合约内容的数据长度为256到65536个字符之间个字符时,OP代码输出第三类型数据;
当智能合约内容的数据长度为65536个字符以上时,OP代码输出第四类型数据;
作为优选,所述OP代码的字符类型包括4位16进制的字符串组成;
作为优选,所述第二交易是并行的多笔交易;
作为优选,所述部署注册合约规范的OP代码为常量字符串;
作为优选,所述常量字符串为包含4位16进制的字符;
本发明实施例还提供了一种智能合约部署装置,包括存储器和处理器,存储器用于存储计算机程序;处理器用于执行所述计算机程序以实现权利要求1至3中任意一项所述的智能合约部署方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州时戳信息科技有限公司,未经杭州时戳信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111000189.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种叠层光伏器件
- 下一篇:煤矿罐笼发电设备及其制作方法