kaze-boa
Python compiler for the kaze Virtual Machine
- Free software: MIT license
- Documentation: https://kaze-boa.readthedocs.io.
Overview
The kaze-boa
compiler is a tool for compiling Python files to the .avm
format for usage in the kaze Virtual Machine which is used to execute contracts on the kaze Blockchain.
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 kaze Virtual Machine - Works for Python 3.6+
- supports dictionaries
- Adds debugging map for debugging in kaze-python or other kaze debuggers
What will it do
- Compile a larger subset of the Python language
Get Help or give help
- Open a new issue if you encounter a problem.
- Or ping @localhuman on the kaze official community chatroom.
- Pull requests welcome. New features, writing tests and documentation are all needed.
Installation
Installation requires a Python 3.6 or later environment.
Pip
pip install kaze-boa
Docker
This project contains a Dockerfile to batch compile Python smart contracts. Clone the repository and navigate into the docker sub directory of the project. Run the following command to build the container:
docker build -t kaze-boa .
The kaze-boa Docker container takes a directory on the host containing python smart contracts as an input and a directory to compile the .avm files to as an output. It can be executed like this:
docker run -it --rm -v /absolute/path/input_dir:/python-contracts -v /absolute/path/output_dir:/compiled-contracts kaze-boa
The -v (volume) command maps the directories on the host to the directories within the container.
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')
Docs
You can read the docs here.
Tests
Install kaze-python
( or use requirements_test.txt
) and run the following command
python -m unittest discover boa_tests
License
- Open-source MIT.
- Main author is @localhuman. -forked by Kaze dev team ()