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

Figure 1: 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.


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.

Read the full Article

The full article was originally published by Simon Jegelka on Medium, where people are continuing the conversation by highlighting and responding to this story.

You might also like

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. AcceptRead More

Did you know?

Buy in without the stress of trying to time the market

when you setup a savings plan. If you haven’t started a plan yet, head to your Bitpanda account to get started!

Purchasing cryptocurrencies comes with a number of risks.
Never invest money that you can't afford to lose.

You can automatically invest

in IOTA with Bitpanda Savings!