Skip to main content

A production ready, complete experience in deploying a Hyperledger Fabric

Project description

AKC-MAMBA manuals

I. Installation Instructions

1. Prerequisites

Before you begin, you should confirm that you have installed all the prerequisites below on the platform where you will be running AKC-Mamba.

a. Install pip3

If you have not installed pip3, use the following command to install:

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python3 get-pip.py --user

For checking version :

pip3 --version

2. Install AKC-Mamba

a. Install AKC-Mamba from pip package

You can use the following command:

pip3 install akc-mamba

After install successfuly, you can get help by command:

mamba --help

b. Install and run from source code

Install required Python3 modules with

pip3 install -r requirements.txt

Use akc-mamba using python3 command:

python3 mamba.py --help

3. Deploy and bootstrap network with CLI

a. Prepare environment

We now can use the Mamba tool to prepare required helm and k8s components

mamba environment

After running this command, the program will ask you to fill in some of the most necessary information of creating a blockchain network:

  • Cluster name: The name of the cluster network you created in step Setup an AWS EKS cluster. Default: cluster-mamba-example
  • Kubenetes type: Currently akc-mamba is supporting kubenetes of two types: eks and minikube. The default is eks
  • EFS infomation: After you have entered the Kubenetes type, mamba will automatically search your k8s network for information about efs. If you have EFS installed before, the system will automatically update the config file located at ~/.akachain/akc-mamba/mamba/config/.env. If not, you need to fill in the information EFS SERVER based on the installation step Setup a Network File System. If the k8s type is minikube then you do not need to enter this information.
  • Important Note: You can check and update configuration parameters in ~/.akachain/akc-mamba/mamba/config/.env, the file content is pretty much self-explained.

b. Deploy and bootstrap network

mamba start

The mamba start command executes a series of sub commands that installs various network components. For more information on each command for individual components, please refer to help section

mamba --help

To terminate the network, just run

mamba terminate

II. Development Guide

1. Project structure

Mamba makes use of Click_, an elegant python package for creating command line interfaces. The project structure is depicted in the tree below.

.
├── command_group_1
│   ├── commands.py
│   ├── __init__.py
│
├── utils
│   ├── __init__.py
│   ├── kube.py
├── settings
│   ├── settings.py
├── mamba.py

There are 4 main components:

  • mamba.py : The bootstrap instance module of Mamba
  • settings : Contains global variables that are shared accross all sub modules
  • command_group : Each command group is separated into its own directory.
  • utils : helper functions that must be initialized via settings.py

2. Coding Convention

Please follow PEP8 - Style guide for Python Code.

Another example can be found here

There are several notes that are different with other languages

Function names should be lowercase, with words separated by underscores as necessary to improve readability.

Camel case is for class name

3. Logging instruction

A snake must know how hiss ... or sometimes rattle.

Normally we can just use echo to print out message during execution However:

  • It is mandatory to hiss when there is error.
  • also, rattle is needed when a snake meet something ... at the beginning or at the end of an execution.

For more information about logging, please follow the standard convention in mamba/utils/hiss.py

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

akc-mamba-2.1.1.tar.gz (31.6 kB view details)

Uploaded Source

Built Distribution

akc_mamba-2.1.1-py3-none-any.whl (180.6 kB view details)

Uploaded Python 3

File details

Details for the file akc-mamba-2.1.1.tar.gz.

File metadata

  • Download URL: akc-mamba-2.1.1.tar.gz
  • Upload date:
  • Size: 31.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/54.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.6.9

File hashes

Hashes for akc-mamba-2.1.1.tar.gz
Algorithm Hash digest
SHA256 c57a1451a1f76157f7ee19d82fc1dd3ecc91f446c3e8366e7385de4f7dd60454
MD5 c918e299b4e9f5e5d409d4df5452afef
BLAKE2b-256 ff1000bdfba8aedf7a53aa7c7d91f0a358cbed5df4b701b5df772c0b02ea4c5c

See more details on using hashes here.

File details

Details for the file akc_mamba-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: akc_mamba-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 180.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/54.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.6.9

File hashes

Hashes for akc_mamba-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5bb31adfade03cf244db69d8d961f997fe23f4f9a8a5c2af89314502f6963fec
MD5 2f8bb20af67b64f4d42325503ef86738
BLAKE2b-256 ab1fc568f62c65f1e6cf59d83b90813a1ddc5ca2b1405ca87b2c0bf1aecd7572

See more details on using hashes here.

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