建议和反馈

请填写你的反馈内容

问答 > 小蚁NEO > 问答详情
已解决

小蚁Neo支持哪些语言开发智能合约,其完整的运行流程是怎么地?10LK

小蚁Neo支持哪些语言开发智能合约,其完整的运行流程是怎么地?

2019-10-09
0
请先登陆或注册

三地2019-10-09

小蚁Neo 支持golang、java、c#、python等多语种开发智能合约。编译器会将多语言版本的智能合约编译成统一的 avm 字节码文件,再由 NeoVM 完成相应的译码、执行工作。借助多语言版本的编译器 和虚拟机,实现跨平台的兼容。

其完整的运行流程如下:

  1. 将编写好的 C#、Java 等智能合约源码通过相应的编译器编译成统一的字节码文件。

  2. NeoVM 执行引擎加载字节码文件,并将文件中的字节码以及相关参数等作为一个运行上下文压入虚拟机执行引擎的调用栈中。

  3. NeoVM 执行引擎每次会根据当前上下文取出需要执行的操作码,然后针对不同的操作码去执行对应的操作。执行过程的数据会存储在当前上下文的计算栈和临时栈中。

  4. 若需执行外部数据访问、数据加密、零知识证明等操作,则调用互操作接口。

  5. 所有脚本执行完后,将运行结果保存在结果栈中。


投一票
评论(0)
赞赏(0)
邀请

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励