Raspberry Pi Indy Agent

TitleRaspberry Pi Indy Agent
Status

PROJECT COMPLETED

Difficulty

MEDIUM  

Description 

There are no published Raspbian Images of an Indy Agent or detailed instructions on how to create a Raspbian Indy Agent. An Indy Agent running on the Raspberry Pi could be developed to have easy access to GPIO pins, enabling this agent to interact with external hardware. An example of a project that could be built with such an agent is a secure door opener. This project should produce a Raspbian image containing a generalized Indy Agent, with step by step instructions on how to reproduce this image. The generalized Raspbian Indy Agent should have examples on how to interact with GPIO pins as well as proposed solutions for interacting with other services running on the Raspberry Pi. The Raspbian Indy Agent will need to show compliance with emergent agent to agent(A2A) messaging protocol by passing all tests in the Indy Agent test suite.  

Additional Information

Indy-agent test-suite: https://github.com/hyperledger/indy-agent/tree/master/test-suite

Learning Objectives

This internship will provide the student with familiarity in:

- project version control through Github with DCO signatures 

- zero Knowledge Proof(ZKP) cryptography

- distributed public key management through the use of an indy ledger

- indy-SDK

- agent to agent messaging for ZKP transport

- community driven protocol development

- Raspbian OS, the operating system used on the Raspberry Pi

- Raspberry Pi, the target hardware for Raspbian Indy Agent

- Raspberry Pi General Purpose Input Output(GPIO) pins

- programming an open-source project

Weekly meetings over zoom with the mentor will aid in planning student weekly goals. 

The mentor will introduce technology and resources for each step of the way, but the student will need to exercise self-discipline and self-motivation in achieving weekly goals. 

Expected Outcome

- Raspbian-Indy-Agent GitHub project that passes Indy-Agent test suite and allows read/writes of GPIO pins

- Image of Raspbian-Indy-Agent for easy deployment onto Raspberry Pi

- Documentation of Raspbian-Indy-Agent detailed enough for replication

- Example code using Raspbian-Indy-Agent

- Demonstration of the project in its entirety

Relation to Hyperledger 

Hyperledger Indy

Education Level

Undergraduate

Skills

- Experience with Linux is preferred but not mandatory

 - Python is preferred but not mandatory

 - Programming

Future plans

Incorporating rasbian-indy-agent into a demonstration that can be taken to meet ups and conferences to inspire others to build on top of the rasbian-indy-agent as well as Hyperledger Indy.

Preferred Hours and Length of Internship

Full-time or Part-time is acceptable.

Mentor(s) Names and Contact Info

Adam Burdett, adam@sovrin.org, HL Rocketchat: burdettadam