topocare x IOTA — Status Report 03
The full article was originally published by Simon Jegelka on Medium. Read the full article here.
1) Review and focus of this article
Our aim is to create a true Pay-on-Production model (PoP), where payments are done for every production step. Every time a production step is achieved a payment will automatically be executed.
We developed a technology demonstration platform to proof that the PoP model can be realized with IOTA. The center piece of the technology demonstration platform is to show that a machine can have its own wallet, executing transactions and documenting its process on an agreed and tamperproof basis. The developed platform contains an electrical drive system, a control PC, as well as different types of sensors and actuators
The demonstration platform is described in our second status report with a focus on the hardware characteristics.
This article will focus on the software realization of the PoP model. We will give an overview about the system architecture, the constraints of the IOTA protocol, the machine wallet logic and final implementation.
2) Overall system architecture
The vehicle computer of the technology demonstration platform is running an Ubuntu operating system. It contains several sub-systems.
We choose to run the Robot Operating System (ROS) as a middleware to control the different sensors and actuators built into the demonstration platform. ROS is providing a flexible framework with tools and libraries to connect and operate the hardware. To interact with the different components, topics are created. This concept allows to subscribe to a topic e.g. to get certain sensor data or to publish e.g. commands to run the drive system or to use the control pad of the machine.
Is used to access the ROS topics within a Java environment.
The IOTA Java library is used to connect to a remote IOTA fullnode which synchronizes with the entire decentralized IOTA network. The IOTA API provides several functions, such as
getTransactionsObjects() to realize the wallet and transaction logic of the PoP model.
JOTA library is a simple Java wrapper around IOTA (http://www.iota.org/) Node’s JSON-REST HTTP interface. …github.com
Is meant to store permanent information like IOTA addresses or other values which still need to be available after the machine has been turned off and on again.
3) Transaction structure of IOTA
Before diving deeper into the realization of the PoP model by explaining the wallet-logic, we would like to give a small introduction about how the underlying IOTA protocol works.