TAGS

azure-refrigerated-transportation-box

CREATED

UPDATED

STARS

INSTALL

...

REPOSITORY
GitHub Download
Please wait: Fetching readme...

b"Refrigerated Transportation Sample Application for Azure Blockchain Workbench\n=============================================================================\n\nOverview\n----------\n\nThe refrigerated transportation smart contract covers a provenance scenario with\nIoT monitoring. You can think of it as a supply chain transport scenario where\ncertain compliance rules must be met throughout the duration of the\ntransportation process. The initiating counterparty specifies the humidity and\ntemperature range the measurement must fall in to be compliant. At any point, if\nthe device takes a temperature or humidity measurement that is out of range, the\ncontract state will be updated to indicate that it is out of compliance.\n\n![visualization of supply chain](https://raw.githubusercontent.com/caleteeter/refrigerated-transportation/master/media/59c0d3080fb4ad63b1e64c8496645d3b.png)\n\nAll participants can view the state and details of the contract at any point in\ntime. The counterparty doing the transportation will specify the next\ncounterparty responsible, and the device will ingest temperature and humidity\ndata, which gets written to the chain. This allows the Supply Chain Owner and\nSupply Chain Observer to pinpoint which counterparty did not fulfill the\ncompliance regulations if at any point in the process either the temperature or\nhumidity requirements were not met.\n\n
\n\nApplication Roles\n------------------\n| Name | Description |\n|------------------------|---------------------------------------------------|\n| InitiatingCounterParty | The first participant in the supply chain. |\n| Counterparty | A party to whom responsibility for a product has been assigned. For example, a shipper |\n| Device | A device used to monitor the temperature and humidity of the environment the good(s) are being shipped in.\n| Owner | The organization that owns the product being transported. For example, a manufacturer |\n| Observer | The individual or organization monitoring the supply chain. For example, a government agency |\n\n
\n\nStates\n-------\n\n| Name | Description |\n|------------------------|---------------------------------------------------|\n|Created |Indicates that the contract has initiated and tracking is in progress. |\n|InTransit |Indicates that a Counterparty currently is in possession and responsible for goods being transported.|\n|Completed |Indicates the product has reached it's intended destination.|\xc2\xa0\n|OutOfCompliance|Indicates that the agreed upon terms for temperature and humidity conditions were not met.|\n\n
\n\nWorkflow Details\n----------------\n\n![state diagram for the workflow](https://raw.githubusercontent.com/caleteeter/refrigerated-transportation/master/media/73ebae42a69347a7edb762d0f583724a.png)\n\nThe following state transition diagram articulates the possible flows, and the\nvarious transition functions at each state. Each user is only allowed to take\ncertain actions depending on the application role. Instance roles indicate that\nonly the user with the application role assigned to the specific contract is\nable to take actions on the contract.\n\nThis contract demonstrates how to collect telemetry information and enforce\ncontract specifics related to conditions during transport. Specifically,\nreceiving and evaluating temperature and humidity data against an agreed upon\nacceptable range. If the IoT device identifies that the telemetry is out of the\nacceptable range, the contract will shift into an\xe2\x80\xafout of compliance state and\nappropriate remedies can be sought. In the highlighted happy path, the device\ningests readings, which are in compliance throughout the transportation process,\nwhile the involved counterparties transfer responsibility until the\ntransportation is completed.\n\n
\n\nApplication Files\n-----------------\n[RefrigeratedTransportation.json](https://raw.githubusercontent.com/caleteeter/refrigerated-transportation/master/RefrigeratedTransportation.json)\n\n[RefrigeratedTransportation.sol](https://raw.githubusercontent.com/caleteeter/refrigerated-transportation/master/contracts/RefrigeratedTransportation.sol)\n"