- Keepy is a generic gateway which allows devices to publish their data on IOTA Streams easily.
- Through Keepy applications get fast read times and the ability to validate the data integrity against the IOTA Tangle.
The I2T crew has launched the Keepy application that operates with IOTA Streams. Keepy aims to improve the user experience and is a generic gateway which allows different devices using the I2T Standard, to publish their data on Streams in an easy fashion. Operating as a small Nodejs application, Keepy receives information from sensors and “returns it on demand”, as the I2T team states:
Keepy is a small Nodejs application that sits in front of the Streams Gateway to receive sensors’ data and return it on demand. It basically mounts an endpoint you can POST data to. The data is stored on Streams and a local Database that keeps an association between each data set and the Streams channel id containing it.
With Keepy users can query information from a number of data sets and obtain information from a local database such as channel identification. Thus, applications get fast read times and the ability to validate the data integrity against the IOTA Tangle.
In addition, the application has a buffer system. Through it, users can make request management of information insertion and send information in a period of low frequency to Keepy. The application also allows users to configure the amount of time the data is saved. Once the time is up, the data is sent to the IOTA Tangle for storage. The I2T team further added:
We believe this is a very simple but valuable application. It helps solving some of the issues observed while mentoring the “Integrate Everything with IOTA” Hackathon contestants, it is open-source and extremely easy to customize by the users. We encourage everyone to try it out and play with it!
Solving limitations in IOTA Streams
Keepy has been built by developers Eduardo Pelitti and Andy Espagnolo, part of the I2T open source community in Argentina. The developers found many limitations in the IOTA Streams in several of its features. They decided to use the Nodejs programming language because of its “considering its easy-to-implement and modify nature”. As both developers wrote, there’s a major limitation Keepy aims to solve:
Streams runs on top of IOTA transactions. Therefore, each data set sent requires a little proof-of-work, limiting the granularity of inputs. Sending a data set per second would result in an overloaded full node, breaking the Gateway’s ability to do its job.
On the other hand, with Streams channels it is not possible to receive a subset of messages (i.e. the last 5 published messages). This proved to be a problem when developing IoT applications that needed to maintain the status of objects such as your living room lamp and access them to perform actions, as the developers stated.