Coder Social home page Coder Social logo

miu's Introduction

Status : Active (Under active development, breaking changes may occur)

Miu

Miu is a gRPC based python server enabling developers to easily connect and develop Hyperledger Indy based clients using Hyperledger Indy SDK.

Overview

Miu introduces all the goodness of gRPC and writing Indy client in your favourite programing language, the ones supported by gRPC. Extending the list of programing languages in which the Indy SDK is currently provided see libindy SDK

Motivation

Being able to code Indy clients in Golang. :D

Concept

Miu is implemented in gRPC python using the Indy SDK for Python. This now allows us to build Hyperledger Indy SDK based clients using gRPC which can communicate with Miu in high performant Protobuf protocol.

Design Overview

Here's a quick concept overview Miu-Approach

Current state with this release

Current release covers implementation for most of the modules from Indy SDK, precisely speaking :

  • Anoncreds
  • Blob Storage
  • Crypto
  • DID
  • Ledger
  • NonSecret
  • Pairwise
  • Pool
  • Wallet

Project structure

grpc_server folder contains Indy SDK module implementation in python

identityLayer folder contains all the proto files describing the gRPC structure with RPCs and messages

config.json used for configuring the indy node IP address and the pool transaction genesis file.

Note: You'll need to add pool_transactions_genesis file first before configuring in the config.json

Installation and trying out

Pre-req

You'll need Indy node / Server before going through with steps defined below. See How to install Test network.

Once ready use following steps to start with Miu setup

  1. Install python 3
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6
  1. Clone miu repository

  2. CD into the location where you have cloned

  3. Create virtualenv:

python3 -m venv my_venv
  1. Activate virtualenv
source ./my_venv/bin/activate
  1. Install Dependencies
pip install -r requirements.txt
  1. Run the miu interface
python server.py

This will start the server on localhost:50051. You then will have to connect your gRPC client to this.

What's next

Of course we'd appreciate help to further enhance this project. Post this alpha release we are looking to work on

  • Fixing bugs to stablize this release
  • Writing test cases for the Miu interface for automated testing
  • Enhanced logging
  • And more...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.