neo虚拟机的python编译器

neo-boa的Python项目详细描述


概述

neo-boa编译器是将Python文件编译到 .avm格式,用于Neo Virtual Machine中,该格式用于 在Neo Blockchain上执行合同

编译器支持python语言的一个子集(以同样的方式 一条boa constractor是Python种类的一个子集)

它目前做什么

  • 将python语言的一个子集编译为 用于Neo Virtual Machine
  • 适用于Python 3.6+
  • 添加用于在neo python或其他neo调试器中调试的调试映射

它能做什么

  • 编译python语言的较大子集

获得帮助或给予帮助

  • 打开一个新的 issue如果你 遇到问题。
  • 或者在NEO official community chatroom上ping @localhuman
  • 欢迎拉取请求。新功能、编写测试和文档 都是必需的

安装

确保使用的是Python3.6或更高版本的虚拟环境

PIP

pip install neo-boa

Docker

此项目包含一个dockerfile,用于批编译python smart 合同克隆存储库并导航到Docker Sub 项目的目录。运行以下命令生成 容器:

docker build -t neo-boa .

neo boa docker容器获取主机上包含 python智能合约作为输入和编译.avm的目录 文件作为输出。它可以这样执行:

docker run -it -v /absolute/path/input_dir:/python-contracts -v /absolute/path/output_dir:/compiled-contracts neo-boa

-v(volume)命令将主机上的目录映射到 容器中的目录

手动

克隆存储库并导航到项目目录。做一个 Python3虚拟环境并通过以下方式激活:

python3 -m venv venv
source venv/bin/activate

或者,要特别安装python 3.6:

virtualenv -p /usr/local/bin/python3.6 venv
source venv/bin/activate

然后,安装要求:

pip install -r requirements.txt

用法

编译器的用法如下:

from boa.compiler import Compiler

Compiler.load_and_save('path/to/your/file.py')

出于传统目的,如果希望编译时不使用NEP8堆栈隔离功能,可以执行以下操作:

from boa.compiler import Compiler

Compiler.load_and_save('path/to/your/file.py', use_nep=False)

文档

你可以read the docs here

测试

所有测试都位于boa_test/test。可以使用以下命令python -m unittest discover boa_test

许可证

捐款

atemnpsjrvsxmajw4zyjbsvuj6ur2mjqu接受

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ArrayList中实体对象上的JAVA泛型   带Redis的爪哇芹菜vs单用Redis   java在设备面向横向时隐藏标题栏/通知栏   java JXTreeTable:如何使用ComponentProvider为一列设置渲染器   java创建异常的成本与记录异常的成本相比   java在方法参数中使用setter传递新对象   java在一个类中的方法与另一个类中的方法交互时遇到问题   java如何迭代2个大小相等的ArrayList   Java getDesktop()。open在Windows中工作,但在Mac中不工作   从tomcat切换到jetty后的java“无法启动嵌入式容器”,Spring引导   java如何使用void方法   java如何在解组时在JAXB的ValidationEventHandler中获取节点值?   如何使用Akka Java API创建不响应的TCP接收器   JavaScriptjQuery在java中将记录上传到数据库时的进度条   如何在重新绘制时在java小程序中显示上一个图像