Home

Awesome

Fabric-SDK-Py

Fabric-SDK-Py is the Python 3.x implementation of Hyperledger Fabric SDK!

Currently, it mainly supports Fabric 1.4.x version.

Pre-requisite

The SDK requires the Python3 and Libssl pkgs.

Run the following cmd to install the pre-requisites if you do not have:

OScommand
Ubuntu/Debiansudo apt-get install python-dev python3-dev libssl-dev
Redhat/CentOSsudo yum install python-devel python3-devel openssl-devel
MacOSbrew install python python3 openssl

More details to build the crypto lib, can be found at Install Python Cryotography Lib.

Tutorial

Read the Tutorial (Source) to get familiar with the APIs. A jupyter notebook explaining the sample code can be found here.

Quick Testing

Use Virtual Env

virtualenv helps provide a clean environment, suggest to use it to test.

$ pip3 install virtualenv # install the virtualenv tool if not installed
$ make venv  # create a virtual env
$ source venv/bin/activate
$ # Do the testing here
$ deactivate  # deactive the virtual env
$ make clean # clean the temporary files

Run Integration Testing

The following command will run the testing.

$ make check # Check environment and run tests
$ make test # Only run test cases
$ tox -e py3 -- test/integration/ca_test.py  # Run specified test case

Generating Docker images

The following command will build the Docker image hyperledger/fabric-sdk-py.

$ make image

Regenerating protos

Make sure you have grpcio-tools installed (pip install grpcio-tools)

$ make proto

Change Logs

See Change Log for the commit logs. Run make changelog to update the changelog before new release.

Bug, Question and Code Contributions

Welcome for any kind of contributions, e.g., bugs, questions and documentation!

Recommend to read How to Contribution before taking action.

Other Important Links

License <a name="license"></a>

The Hyperledger Fabric-SDK-Py software uses the Apache License Version 2.0 software license.

<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This document is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.