Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Proof of Concept

Is available as an instance of Sawtooth chain on a single node (Dev); with the ability to create key-pairs; create assets; Transfer assets and accept or reject the asset. A tracking of the current holder of the asset is also view-able from the current front end interface.

MVP

Needs to be developed and will probably need to meet the following requirements (team to add anymore - high level requirements and constraints)

  • A Donor, Volunteer and Recipient (Actor) logins or interfaces
  • Ability for each actor to create their own key pairs pseudonymously
  • Ability to define assets that are fungible (from bulk donation to granular distribution - Asset name; Unit type and Units (numbers, lbs etc.)
  • Ability to assign assets (by donor or self assigned by volunteer) for trace-ability purposes
  • Ability to track assigned assets with the options of:
    • Tracking the assets themselves
    • Or tracking the packaging the asset is included into (Eg: bags, crates etc.)
  • N2H for MVP:
    • Security and audit-ability from bad actors (theft, diversion etc.)
    • Trace ability to final recipient (final recipient acknowledges receipt)
    • The above 2 may have to be currently based on the "honor system" for the MVP and a robust security and trace-ability may need to be developed in next phase

Below is a cheatsheet of items to be accomplished for a MVP. Please feel free to include your name as owner for any item (Owner will get support from the team, but will be responsible for the research and directing team members for any specific items that needs assistance):

D2RA - Hyperledger Sawtooth Chain - MVP
Sl. No.Things to be accomplishedDescription of work and any constraints to be overcomeAssigned to (please include your name based on your time and skills)Comments / Remarks
1Multiple nodes

Create multiple nodes of Sawtooth chain and demonstrate workability of the chain - Sawtooth chain needs to be brought up inside docker (or any other container) and should run on all instances; should be able to connect with each node


Can be on multiple instances in cloud (Eg: AWS EC2) or multiple macs

hemalpanji has done some research

2Define Transaction ProcessorBe able to create transaction families and define Transactions on the chain (not the front end) - business logic on the server and able to bundle transactions into a block for validation
Transaction processor node(s) within Sawtooth
3Define ValidatorBe able to assign validator nodes and / or create validators that will take the transaction families for validating and creating a block
Validator node(s) in Sawtooth
4Define any REST APIBe able to connect the client (Front end interface) to the chain
Connectors to chain from front end client (HTML, JSON etc.)
5Create Donor, Volunteer interfaces / loginsProvide the ability for Donors and volunteers to interact with the chain to login, create assets, transfer assets etc.
Current single screen from POC may need to be split into multiple with respective functionalities
6Create assets

Define what an asset attributes need to be (Asset name, asset type, unit type, unit measure etc.) 

Master template for assets (minimum values to be picked while defining assets that answers questions like - What am I donating, how much and if it can be picked up by multiple volunteers - one donor to many volunteers)


Solve for Fungibility of assets - Lindsley Medlin can articulate / elaborate.

7Tracking assets in the supply chain

How does the asset get tracked - Bar code, Mobile phone (Suyog Navarkar can elaborate), individual asset being tracked or the bag / crate. 


Cost effective tracking mechanisms - pls remember that this is a social impact project and not a commercial one