[发明专利]一种智能合约的发布方法及装置有效
申请号: | 201711142787.5 | 申请日: | 2017-11-17 |
公开(公告)号: | CN107943469B | 公开(公告)日: | 2022-01-11 |
发明(设计)人: | 马占军 | 申请(专利权)人: | 深圳圣马歌科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 深圳市徽正知识产权代理有限公司 44405 | 代理人: | 李想 |
地址: | 518000 广东省深圳市南山区科*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 合约 发布 方法 装置 | ||
本发明实施例公开了一种智能合约的发布方法及装置,方法包括:发送智能合约代码至区块链节点;区块链节点接收到智能合约代码后,判断智能合约代码是否是源代码形式合约;若是,则调用编译模块编译智能合约代码,生成二进制合约代码,将二进制合约代码发布到区块链上。本发明实施例通过将智能合约代码的源代码发送至区块链节点,用户可通过区块链节点查看智能合约的源代码,并通过区块链节点中编译模块对智能合约的源代码编译后,再发送至区块链上,提高了发布到区块链上的智能合约的安全性。
技术领域
本发明涉及区块链技术领域,尤其涉及一种智能合约的发布方法及装置。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,区块链还具有防篡改特性。以太坊是一种区块链实现方案,智能合约是以太坊上的可执行代码,通常使用truffle进行智能合约的开发。其中truffle是以太坊一种开发框架。
现有技术中的智能合约以二进制的方式发布到区块链上,并提供接口给用户调用。但现有的二进制方式进行发布智能合约时,用户只能看到二进制代码,无法看到智能合约的源代码,无法对智能合约的可靠性、安全性和功能进行判断,智能合约发布安全性低,为用户查看智能合约源代码带来了不便。
发明内容
针对上述技术问题,本发明实施例提供了一种智能合约的发布方法及装置,能够解决现有技术中智能合约发布安全低的技术问题。
本发明实施例的第一方面提供一种智能合约的发布方法,包括:
区块链节点接收到智能合约代码后,判断智能合约代码是否是源代码形式合约;
若是,则调用编译模块编译智能合约代码,生成二进制合约代码,将二进制合约代码发布到区块链上。
可选地,所述发送智能合约代码至区块链节点前,包括:
预先在区块链节点内部集成编译模块。
可选地,所述预先在区块链节点内部集成编译模块,包括:
获取编译器源代码,在编译器源代码中提取编译器模块代码;
将提到的编译器模块代码集成进区块链节点对应的以太坊代码,完成在区块链节点内部集成编译模块。
可选地,所述区块链节点接收到智能合约代码后,判断智能合约代码是否是源代码形式合约,包括:
区块链节点接收到智能合约代码后,根据智能合约代码中的交易地址判断交易类型;
根据交易类型判断智能合约代码是否是源代码形式合约。
可选地,所述交易地址是由用户预先设置的160位的地址。
本发明实施例第二方面提供了一种智能合约的发布装置,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现以下步骤:
发送智能合约代码至区块链节点;
区块链节点接收到智能合约代码后,判断智能合约代码是否是源代码形式合约;
若是,则调用编译模块编译智能合约代码,生成二进制合约代码,将二进制合约代码发布到区块链上。
可选地,所述计算机程序被所述处理器执行时还实现以下步骤:
预先在区块链节点内部集成编译模块。
可选地,所述计算机程序被所述处理器执行时还实现以下步骤:
获取编译器源代码,在编译器源代码中提取编译器模块代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳圣马歌科技有限公司,未经深圳圣马歌科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711142787.5/2.html,转载请声明来源钻瓜专利网。