A Python compiler for the Neo3 Virtual Machine
Project description
Overview
Neo3-Boa is a tool for creating Neo Smart Contracts using Python. It compiles .py files to .nef and .manifest.json formats for usage in the Neo Virtual Machine which is used to execute contracts on the Neo Blockchain.
Neo-boa is part of the Neo Python Framework, aimed to allow the full development of dApps using Python alone.
Product Strategy
Pure Python
We want Python developers to feel comfortable when trying Neo3-Boa for the first time. It should look and behave like regular Python. For this reason we decided to avoid adding new keywords, but use decorators and helper functions instead.
Neo Python Framework
In the real world, simply coding a smart contract is not enough. Developers need to debug, deploy and invoke it. Therefore, it’s important for this tool to be part of a bigger Python framework. To help the developers and avoid a bad user experience, we need to use logs and inform errors with details.
Testing against Neo VM
We need to ensure that the code works as expected, and the only way to do that is to run our tests against the official Neo 3 VM. Neo repository already contains a class called TestEngine that is capable of running tests using C# smart-contracts. It will be adjusted to support compiled smart-contracts.
Maintenance
Create a product that is easy to maintain and upgrade. Use Unit tests, typed and documented code to ensure its maintainability.
Quickstart
Installation requires Python 3.10 or later.
Compiling your Smart Contract
Using CLI
$ neo3-boa compile path/to/your/file.py
Using Python Script
from boa3.boa3 import Boa3 Boa3.compile_and_save('path/to/your/file.py')
Docs
You can read the docs here. Please check our examples for reference.
Reference Examples
For an extensive collection of examples:
License
Open-source Apache 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file neo3-boa-1.1.0.tar.gz
.
File metadata
- Download URL: neo3-boa-1.1.0.tar.gz
- Upload date:
- Size: 326.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4832ac19309e68ece6a9e8e318596d610a7df17875c00d0c38c0f76483cacbc |
|
MD5 | 4490b28490be73aac951d166ac0d5007 |
|
BLAKE2b-256 | 18da413dd67d82fc7b7837317bf3ac72072d7e5ff46580735c0c6fe779727221 |
Provenance
File details
Details for the file neo3_boa-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: neo3_boa-1.1.0-py3-none-any.whl
- Upload date:
- Size: 630.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04f4bd21eb694d76889ee3ee9e89be271b19c197a754dc381765851aceaa532f |
|
MD5 | bb1183a9b4495b889467f960fc9663b5 |
|
BLAKE2b-256 | c38016aa7af000966626fdbe4930a3ae39455ca19a270c7056ec65e74a7d9d17 |