/neo-boa

Python compiler for the Neo Virtual Machine

Primary LanguagePythonMIT LicenseMIT

neo-boa

Python compiler for the Neo Virtual Machine

Coverage Status

Overview

The neo-boa compiler is a tool for compiling Python files to the .avm format for usage to execute contracts on the Ontology.

The compiler supports a subset of the Python language ( in the same way that a boa constrictor is a subset of the Python snake species)

What does it currently do

  • Compiles a subset of the Python language to the .avm format for use in the Ontology
  • Works for Python 3.6+
  • supports dictionaries

What will it do

  • Compile a larger subset of the Python language

Get Help or give help

  • Pull requests welcome. New features, writing tests and documentation are all needed.

Installation

Installation requires a Python 3.6 or later environment.

Manual

Clone the repository and navigate into the project directory. Make a Python 3 virtual environment and activate it via:

python3 -m venv venv
source venv/bin/activate

or, to install Python 3.6 specifically:

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

Then, install the requirements:

pip install -r requirements.txt

Usage

The compiler may be used like in the following example:

from boa.compiler import Compiler

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

License

Donations

Accepted at ATEMNPSjRVvsXmaJW4ZYJBSVuJ6uR2mjQU