[发明专利]区块链上集成动态类型编程语言方法和装置有效
申请号: | 201611110167.9 | 申请日: | 2016-12-06 |
公开(公告)号: | CN106598579B | 公开(公告)日: | 2020-12-25 |
发明(设计)人: | 周维;崔萌;徐伟;孙江涛 | 申请(专利权)人: | 北京果仁宝科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 杨泽;刘芳 |
地址: | 100088 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 集成 动态 类型 编程 语言 方法 装置 | ||
本发明提供一种区块链上集成动态类型编程语言方法和装置。其中,该方法包括:调用字节码,字节码存储在区块链上,区块链包括至少一个节点,字节码由智能合约编译,智能合约和字节码唯一对应,智能合约由动态类型编程语言编写;通过字节码解释器解析字节码得到智能合约,智能合约未定义变量类型;定义智能合约的变量类型;执行定义变量类型后的智能合约。本发明提供的区块链上集成动态类型编程语言方法和装置,通过在区块链上使用动态类型的编程语言的智能合约,从而提高了区块链上智能合约的可扩展性。
技术领域
本发明涉及互联网技术,尤其涉及一种区块链上集成动态类型编程语言方法和装置。
背景技术
比特币是一种数字货币,依据特定算法并通过大量的计算产生,比特币使用网络中众多节点构成的分布式数据库来确认并记录所有的交易行为。比特币技术中的区块链像一个数据库账本,记载所有的比特币交易记录。区块链由众多节点构成,智能合约是编写并存储在区块链各节点上的程序代码,区块链上的所有节点可以通过执行智能合约的相关操作实现相关功能。
现有技术中,智能合约通过静态类型编程语言实现,例如用Solidity,与Javascript类似的专用语言,用户设备将智能合约源代码编译成字节码形式后,存储到区块链内的各个节点上。各节点调用并执行智能合约,以得到智能合约运行的结果。
采用现有技术,由于静态类型编程语言的变量类型不可更改,各节点不能对智能合约进行修改和调整,因此智能合约的可扩展性不强。
发明内容
本发明提供一种区块链上集成动态类型编程语言方法和装置,通过在区块链上使用动态类型的编程语言的智能合约,从而提高了区块链上智能合约的可扩展性。
本发明提供一种一种区块链上集成动态类型编程语言方法,包括:调用字节码,所述字节码存储在区块链上,所述区块链包括至少一个所述节点,所述字节码由智能合约编译,所述智能合约和所述字节码唯一对应,所述智能合约由动态类型编程语言编写;
通过字节码解释器解析所述字节码得到所述智能合约,所述智能合约未定义变量类型;
定义所述智能合约的所述变量类型;
执行定义所述变量类型后的所述智能合约。
在本发明一实施例中,所述执行定义所述变量类型后的所述智能合约之后,还包括:
将所述智能合约执行后所述区块链状态的变化部分和所述变量类型存储到所述区块链中。
在本发明一实施例中,所述定义所述智能合约的所述变量类型之前,还包括:
调用所述智能合约的应用程序编程接口API;
修改所述智能合约。
本发明提供一种区块链上集成动态类型编程语言方法,包括:将智能合约编译为字节码,所述智能合约和所述字节码唯一对应,所述智能合约由动态类型编程语言编写,所述智能合约未定义变量类型;
将所述字节码存储到所述区块链的所有节点上,所述区块链包括至少一个节点。
在本发明一实施例中,所述用户设备将智能合约编译为字节码之前,还包括:
编写所述智能合约。
本发明提供一种区块链上集成动态类型编程语言装置,包括:
调用模块,所述调用模块用于调用字节码,所述字节码存储在区块链上,所述区块链包括至少一个所述节点,所述字节码由智能合约编译,所述智能合约和所述字节码唯一对应,所述智能合约由动态类型编程语言编写;
解释模块,所述解释模块用于通过字节码解释器解析所述字节码得到所述智能合约,所述智能合约未定义变量类型;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京果仁宝科技有限公司,未经北京果仁宝科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611110167.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可扩展标记语言解析方法及装置
- 下一篇:一种构建业务软件的方法