IOTA Permanode As a Service
The full article was originally published by Stefano Della Valle on Medium. Read the full article here.
At first glance it may seem absurd that someone would need a service in order to have an IOTA node.
That’s because the activation of a known IOTA node is in fact a very simple operation, and in the coming releases the configuration of peering with other nodes will be fully automated.
However, node activation may be required for several reasons and some of these introduce additional complexities.
For example, if an application based on the IOTA network publishes data, being able to ensure node response times is a key factor. This involves an organizational cost and a specific expertise to keep the node efficient as performance needs increase.
Another typical requirement of such applications is to preserve this data over a long period of time.
The standard node actually deletes transactions from its database after a configurable period of time, and it does not provide any function to discriminate which transactions to delete and which ones to keep.
These two needs, which were directly perceived by us during the development of our other projects, motivated us to create the Things Lab Permanode service.
The Things Lab Permanode service
Things Lab’s IOTA Permanode service provides a fully managed IOTA node with “industry grade” features and the peculiarity of preserving the transactions produced by customers, according to their specific time requirement.
Each customer can create a specific application identity that will tag their transactions, allowing them to be precisely identified in the database.
The system has been developed on the Google Firebase platform and is therefore able to support virtually unlimited simultaneous connections, making it possible to guarantee the performance and reliability of the service.
In this first version, the service supports the following standard IRI API (IOTA Reference Implementation):
- GetTransactionToApprove: returns two valid transactions to link a new transaction;
- BroadcastTransaction: sends one or more transactions to other IOTA public network nodes;
- StoreTransaction: stores transactions on Google Firestore database.
Needless to say, the performance of the database is extremely high and is not affected by the number of connected customers.
Soon we will also release the AttachToTangle function, which runs ProfOfWork, thus providing all the API needed to create an IOTA transaction.
The call to StoreTransaction causes the transaction to be registered with its properties:
- Application ID;
- Private flag.
Note: Application ID and Private flag are additional parameters produced by the Permanode application platform.
Searching and retrieving transactions in the database
The following search functions are also provided: