Iota Streams - Tsangares/iotaworkshop GitHub Wiki

IOTA Streams Dependencies

To help with using IOTA Streams this project use the following libararies from iot2tangle. The purpose of IOTA streams in this project is to store the current state of the chassis.

Installation

In our setup we used a server on the local area network that loaded the keepy server and iota streams gateway. To learn how to install them just view their README's (Streams Gateway and Keepy).

This POC is agnostic about where the keepy server and streams gateway are located, when you run the iotaworkshop.py command you pass the keepy address and that will tell the program to store the state in IOTA streams.

python iotaworkshop.py --keepy http://192.168.1.6:3002 --collateral 1000000 --fee 5000 --name hammer
#Collateral set to 1MIOTA, fee set to 5KIOTA
#Tool is a hammer
#Keepy node is on the local area network on ip 192.168.1.6 at port 3002

If this option is not passed, the program will still run without saving its state in the ledger.

Benefits of Streams

By using streams we gain the following benefits:

  • Transparency: Anyone can audit the immutable transactions to see if the chassis is acting unfairly and taking more fee than they should. This prevents any type of corruption because it is maximizing accountability for the escrow to perform its contract.
  • Status: Without being near the chassis, you can view from any location if someone is using the tool and for how long.
  • Tool Identity: You can also view what the tool is in the chassis.

In the IOTA Workshops full potential, there would be a room full of tools that are behind chassis. By storing this data in IOTA streams this data is valuable because a data scientist could record which tools are in demand and the average duration of usage for each tool. This would give a better market demand in certain locations and give manufacturers more information on how their tools are being used.

There are many other reasons why this data would be valuable to people and having it in IOTA Streams enables quick and easy access to this data. In contrast, in conventional systems, it would be in a private data silo and difficult to retrieve. IOTA Streams are an amazing way to utilize the IOTA ledger to its full potential and the Streams Gateway and Keepy allow for it to be integrated into any project with incredible ease.

View the Stream Data

You can view this POC's current state at the webpage: https://iotaworkshop.gradstudent.me/states

The channel for this POC is 0538eddf3842a62cc48f58d706245e3b987896de454da36576d81e32af62d90b0000000000000000:da3d2e69622ed8f730f2ddaa

The data we store from the escrow using streams include:

  • tool: The name of the tool
  • collateral: The refundable collateral cost
  • fee: The non-refundable fee
  • available: Availability of the tool (if the tool is being used)
  • verification: The verification condition that is required for a refund of collateral
  • esrow_address: The escrow address
  • deposit_address: The deposit address
  • status: A string that represents the current status of the chassis