Skip to main content

Python SDK for the NEO 3 blockchain

Project description

CoZ logo

neo-mamba

https://circleci.com/gh/CityOfZion/neo-mamba.svg?style=shield https://codecov.io/gh/CityOfZion/neo-mamba/branch/master/graph/badge.svg http://www.mypy-lang.org/static/mypy_badge.svg

This SDK intends to provide building blocks for Python developers to interact with the NEO blockchain as a means to lower the entry barrier.

It is a work in progress and thus you can expect that not all parts of the blockchain are supported. What is present should be functioning correctly unless explicitely mentioned (e.g. because they depend on structures not yet available).

Please report any issues on Github or submit ideas how to improve the SDK.

Also check out our Python smart contract compiler Boa !

Quick install

pip install wheel
pip install neo-mamba

or

git clone https://github.com/CityOfZion/neo-mamba.git
cd neo-mamba
pip install wheel
pip install wheel -e .

This installs mamba with only the MemoryDB as possible backend. In order to install the requirements to use the LevelDB backend install the leveldb via extras

pip install -e .[leveldb]

Ensure you have PIP >= 19.3

pip install --upgrade "pip>=19.3"

For full documentation including more elaborate install instructions go to https://docs.coz.io/neo3/mamba/index.html.

Roadmap

Over time the following components are expected to be implemented starting with the items in “SDK Core”. As we release versions and receive feedback components may be added or restructured. Some components may end up living in separate repositories but be included here by default (e.g. virtual machine implementations).

SDK overview
  • Core (v0.1)

  • Network (v0.1)

  • Storage (v0.1)

  • Virtual Machine

  • Smart contracts (v0.4)

  • Wallet support (v0.8)

Performance

At the time of releasing v0.7 there was no RC2 test net available for performance measuring. Very few changes in RC2 should affect performance, therefore the RC1 measurements below should still be pretty accurate. RC3 (v0.8) has even less changes. Performance measurements are on hold until other priorities have been processed.

RC1 measurements

RC1 is the first release, out of 5, where neo-mamba syncs the blockchain slower than the official client neo-cli. Specifically, 30% slower. New bottlenecks as a result of the RC1 updates have been identified and will be improved on after the required RC2 updates.

Performance was measured by letting each client sync the RC1 TestNet from an offline file up to block height 146253 as available at that time. Syncing was done without verifying the block witnesses (--noverify flag in neo-cli). Each client used LevelDB as storage backend, with no other additional plugins running. Each client was synced separately with no additional resource usage on the system. The test was performed on OSX 10.15.7 on a i7-9750H with 16 GB ram.

FAQ

1. make docs fails with no theme named 'neo3' found (missing theme.conf?). -> python setup.py install. Try again.

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

neo-mamba-0.9.tar.gz (3.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neo_mamba-0.9-py3-none-any.whl (157.3 kB view details)

Uploaded Python 3

File details

Details for the file neo-mamba-0.9.tar.gz.

File metadata

  • Download URL: neo-mamba-0.9.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.9

File hashes

Hashes for neo-mamba-0.9.tar.gz
Algorithm Hash digest
SHA256 49cd8e51c4e5c37bc159bee37cf8e16e80b208c3887eb2897e60f07ffd3735f7
MD5 2f3dbf93d51fd8d6eb90ed2e62d10202
BLAKE2b-256 32ec535583d6314c6c2d4c26c3e9c3e8f7a6b53ec464cd6e072a7b0b876707b8

See more details on using hashes here.

File details

Details for the file neo_mamba-0.9-py3-none-any.whl.

File metadata

  • Download URL: neo_mamba-0.9-py3-none-any.whl
  • Upload date:
  • Size: 157.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.9

File hashes

Hashes for neo_mamba-0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 ca388be6fa9e75a97224525d5e2985ba8ad7b42b57f0b12ff30f27196a7808fa
MD5 c76e5e6adf32bdb029592f68a87af2ec
BLAKE2b-256 cb9f65eca6caa72cc0d0308cc26a5c1163cec4c33fd0b98698dedffa2bbf8778

See more details on using hashes here.

Supported by

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