TitlePackage Management Updates for Indy SDK
Status

UNSELECTED

Difficulty

MEDIUM  

Description 

In order for a new ecosystem to flourish, it must be able to provide a well-defined path for new members to join and get involved.  This generally translates into the ability to get a new library or framework running quickly and and to be able to explore the benefits without getting bogged down in debugging an install, searching for missing libraries, setting proper LIBRARY_PATH’s and insuring versions of included libraries are all up to date.

The Hyperledger Indy project includes wrappers for Python, Node, C# and others.  In order for those libraries to run correctly, they all rely on a proper installation of libindy.

This project will provide that path by creating packages in the Brew (OSX),  Chocolatey (Windows), RPM (Red Hat, Fedora Linux) repositories.

Additional Information

https://learn.kegerator.com/creating-a-homebrew-recipe/

https://chocolatey.org/docs/create-packages

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/rpm_packaging_guide/index

https://softwareengineering.stackexchange.com/questions/372444/why-prefer-a-package-manager-over-a-library-folder

Learning Objectives

This internship will provide the student with familiarity in:

- project version control through Github

- distributed public key management through the use of Indy wallet and SDK

- agent to agent messaging for ZKP transport

- community driven protocol development

- programming an open-source project

Weekly meetings the mentor over email, phone, or Zoom.

Student is expected to be self-reliant and motivated seeking direction from the mentor or others in the community as needed.

Expected Outcome

The result should be an environment that allows a developer to run an associated test suite successfully from the Indy SDK on the desired platform.  For example (on OSX):

  1. brew install indy-sdk

  2. git clone https://github.com/hyperledger/indy-sdk

  3. cd indy-sdk/wrappers/python && pytest

This would result in successfully running all the Python library tests in the SDK

Additionally the Hyperledger Indy Command Line Interface (CLI) should be added as a package management component after successful addition of the Indy SDK found here: https://github.com/hyperledger/indy-sdk/tree/master/cli

Ideal installation should download and install the Indy CLI and add it to the PATH variables so simply typing “indy-cli” starts the CLI tool.

Relation to Hyperledger 

Hyperledger Indy

Education Level

Graduate student or undergraduate student

Skills

  1. Experience creating wrappers in any of the specified environments (desired, but not required)

  2. Building packages from source on the specified platforms (desired, but not required)

  3. Previous Hyperledger Indy experience (desired, but not required)

Future plans

Project will contnue to be improved and enhanced to enable Indy developers to easily install the base SDK when required.

Preferred Hours and Length of Internship

Part-time (20 hours a week for 12 weeks during the summer)

Mentor(s) Names and Contact Info

Thomas Shelton, tshelton@culedger.com