Skip to main content

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.7 or later.

Compiling your Smart Contract

Using CLI

$ neo3-boa 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neo3-boa-0.13.1.tar.gz (307.0 kB view details)

Uploaded Source

Built Distribution

neo3_boa-0.13.1-py3-none-any.whl (600.2 kB view details)

Uploaded Python 3

File details

Details for the file neo3-boa-0.13.1.tar.gz.

File metadata

  • Download URL: neo3-boa-0.13.1.tar.gz
  • Upload date:
  • Size: 307.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.14

File hashes

Hashes for neo3-boa-0.13.1.tar.gz
Algorithm Hash digest
SHA256 487bf85dc888aacb385ee2206f4e151660e5205f8e5359097cd3cbcd524f18b5
MD5 6e86ebcb00d6b33c64c0e1a94c73c141
BLAKE2b-256 843a5d6c559add3844f4a5b321d7e67b6d282ddbfb24b3e446a768c5f9647d58

See more details on using hashes here.

Provenance

File details

Details for the file neo3_boa-0.13.1-py3-none-any.whl.

File metadata

  • Download URL: neo3_boa-0.13.1-py3-none-any.whl
  • Upload date:
  • Size: 600.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.14

File hashes

Hashes for neo3_boa-0.13.1-py3-none-any.whl
Algorithm Hash digest
SHA256 216f9ab7ebf257bfcde18b3d4e523ccce7081a449f0ce8d226e6bdae76271a5e
MD5 0e190d9d3d4aba5363c74ac6475edc17
BLAKE2b-256 729b28a38fcfc2c212a68045f2c5128151586aea9b75c252629a1a3eef18295a

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page