用户登陆
正在加载
什么是本体智能合约?如何玩转本体智能合约?
互联网 · 2019-11-03 14:48:10

本体智能合约简介

本体智能合约是一个集多功能、轻量级、高可用、可并发、多语言、跨合约、跨虚拟机等于一体的完备体系。本体智能合约支持多种主流开发语言,如 C#、Python,开发者不需要学习新的语言即可非常便捷地开发本体智能合约,未来将支持更多主流开发语言,包括:Java、C++、Rust、Go、JavaScript 等。

本体智能合约具有确定性、高性能、扩展性的特性,包括两大模块:交互服务虚拟机

交互服务提供了虚拟机和区块链账本之间的交互,而虚拟机提供了智能合约的运行环境。交互服务包括原生服务和 NEO 虚拟机服务。原生服务提供了基础链上特殊智能合约的实现,这种合约能被快速方便地使用。NEO 虚拟机服务提供了外部访问 NEO 虚拟机的 API,它能增强智能合约的调用功能。

合约类型

本体智能合约有两种类型:Native 合约NeoVM 合约

Native 合约是在本体底层直接编写的合约,不需要像部署普通合约那样编写合约代码,具有很高的执行效率,是对普通合约的极大优化、通用的服务,包括 ONT、ONG、Auth、治理合约、DID合约,都将采用 Native 合约实现。

NeoVM 合约是采用 NeoVM 虚拟机运行的合约,需要编写相应的合约代码,现支持的语言包含:C# 和 Python。 NeoVM 本身具有轻量级、可扩展、高性能的特性,通过结合交互服务层能很好的打通虚拟机与账本层间的交互。

合约执行过程

本体智能合约运行需要传入合约运行所需要的脚本,以及运行合约的虚拟机类型,智能合约调度中心会更根据虚拟机类型,启动不同的虚拟机运行合约。在执行过程中,合约调用了 AppCall 指令(其中包含了运行合约的必要参数),触发智能合约调度中心,调度中心将会根据传入的参数启动对应的虚拟机运行对应的脚本,直到合约运行完成为止。

WasmVM目前在测试中运行

合约费用模型

交易费用是 GAS limit 和 GAS price 的乘积。GAS limit 在执行智能合约的 Opcode 过程中计步时使用,理论上智能合约越复杂,需要的 GAS limit 数量越高,Ontology 交易设定最低的 GAS limit 数量是 20,000。GAS price 是给执行 Opcode 定价,GAS price 越高,共识节点会优先打包该笔交易。

总结

本体智能合约有着清晰的优势。

第一,本体提供了非常高效的合约开发工具并支持主流开发语言Python等,使开发者无需学习新的编程语言如solidity 即可开发合约;

第二,本体采用双Token模型,专门推出了ONG 作为燃料(对标以太坊 GAS),当使用 Ontology 的人多时,ONG 费用高,人少时费用低。这种弹性成本符合开发者预期。另一方面,本体并不需要像 EOS 一样为使用 CPU,带宽资源抵押Token,为使用内存购买RAM。这也为开发者带来了极大便利。

第三,本体具有极高的 TPS,实现秒级出块时间,轻松保障用户使用体验,让开发者释放更多创意。

免责声明:
本网站所提供的所有信息仅供参考,不构成任何投资建议。用户在使用本网站的信息时应自行判断和承担风险。币界网不对用户因使用本网站信息而导致的任何损失负责。用户在进行任何投资活动前应自行进行调查和研究,并谨慎决策。币界网不对用户基于本网站信息做出的任何投资决策负责。用户在本网站发布的任何内容均由其个人负责,与币界网无关。
免责声明:本网站、超链接、相关应用程序、论坛、博客等媒体账户以及其他平台和用户发布的所有内容均来源于第三方平台及平台用户。币界网对于网站及其内容不作任何类型的保证,网站所有区块链相关数据以及其他内容资料仅供用户学习及研究之用,不构成任何投资、法律等其他领域的建议和依据。币界网用户以及其他第三方平台在本网站发布的任何内容均由其个人负责,与币界网无关。币界网不对任何因使用本网站信息而导致的任何损失负责。您需谨慎使用相关数据及内容,并自行承担所带来的一切风险。强烈建议您独自对内容进行研究、审查、分析和验证。
s_logo
App内打开