Robonomics developers have come up with a solution based on the Polkadot architecture that will allow any parachain to get access to IoT device management with payment in a native token
Vending machines, carsharing, Airbnb smart apartments, "Google" offices... will be ready to execute services with any Polkadot ecosystem token payments this year.
Robonomics developers have come up with a solution based on the Polkadot architecture that will allow any parachain to get access to IoT device management with payment in a native token. Each parachain that adds a Robobank branch to its runtime will be able to use the functions of launching a smart device running under the Robonomics parachain control.
Users will not have to pay commissions outside of the native parachain token — any payment made through Robobank will provide a free execution of an automated service / launch of an IoT device for the user. The only thing that the owner of the automated service will need is an active subscription of the IoT device to use the Robonomics parachain.
To help the Polkadot ecosystem evolve towards IoT, Robonomics is going to provide parachains with the greatest possible integration with the most popular devices over the coming years.
If Robonomics is readily available, then the functionality of the parachain will expand in the direction of automating the services that surround us in the real world:
These are just examples that came to the author's mind, and you can try to continue the list yourself thinking about services for Smart Cities.
A separate parachain provides specific functions, and the native token is used to pay commissions for performing these functions on the Polkadot network.
The creators of the parachain are limiting the capabilities of their Polkadot segment to increase performance, while the presence of other parachains and the ability to send a transaction from one parachain to another using XCMP can achieve a network effect.
Each parachain builds its own 'runtime' from modules called 'pallet'.
Using the Ethereum architecture terms, the runtime is a separate virtual machine built for the tasks of only a few smart contracts.
Summarizing the functions that are involved in a separate parachain, we get a complete solution with resource savings for “not the most important” capabilities for a specific project.
Parachains are the same as shards, but each is assembled in its own way.
By being in shared security, parachains can create trusted connections between each other. This approach saves us from the fear of being in a cool but empty sandbox.
The presence of the Robonomics parachain will allow other Polkadot parachains to expand the functionality of native tokens by adding instead of the full and rather complex functionality of working with IoT devices to your virtual machine (i.e runtime), functions such as: pay for launching an IoT device or receive data from the device during the payment process.
Next, we will look at an example of architecture using multiple Polkadot parachains in order to extend the capabilities of any project through infrastructure integration solutions based on XCMP.
Consider an example of a truly decentralized Uber service.
By implementing Uber Parachain, developers could focus on the rating system of drivers, the system for processing user requests in p2p mode, and other customer service issues, and not worry about the need to simultaneously support the IoT component of their applications — Robonomics will help with IoT. Uber Parachain will only need to integrate the Robobank pallet into its runtime in order to provide customer access to the car after payment and receive trip reports directly from the IoT modules of the car.
As you can see from the diagram and the description of the modules, the parachains need to install Robobank Branch, which can be performed in the parachain update mode without a hard fork.
Now let's look at a step-by-step use case to represent the full cycle of the Robobank module after the Robobank Branch is enabled by the Polkadot parachain.
PaymentToRobot()
— this function can be seen among others in the parachain after the Robobank Branch module is enabled. As a result of a user sending a transaction from an IoT application, Robobank Branch will receive data on the amount of the payment and the device that needs to be launched for execution.TransferToRobobank()
– will ensure the transfer of funds from the user account to the Robobank account with the ability to withdraw the accumulated amount in one transaction from the IoT device. For example, after making 10 trips or working within 5 hours, the car can generate automatic transactions to transfer funds from the Robobank account to the address of the crypto exchange. There is no actual movement of tokens from one parachain to another.SignalToRobonomics()
— will be a function using XCMP. It is important to note that we will be able to ensure that messages sent on behalf of Robobank Branch are identified and marked as trusted. Some analogue of communication between smart contracts in the Ethereum network.SignalFromRobonomicsBranch()
— the message sent in the previous step will be sent through the Relay chain for processing to the central node of the Robobank Tower module. Having received a message from the parachain, Robobank Tower will record the request to launch the payment device in the Robonomics parachain, and thereby remove the need to store the payment log on the side of each parachain who uses the Robobank Branch module. In fact, the Robobank branches will perform the functions of correspondent accounts and are subordinate to the main branch in the form of a Tower, in which the full history of the execution of the automated service with payment in the neighboring parachain will be kept.FreeTXtoRWS()
— two modules of the Robonomics parachain can trust each other, just like smart contracts in Ethereum. If we can ensure trust in the request from Robobank Branch to Robobank Tower, then in the same way we can provide the ability to launch a device with an active subscription not from the device address, but based on payment in tokens.Launch || Datalog
— a combination of these functions will allow, for example, to launch a service for execution with an indication of the user who will have access to the back door of the car in the Uber Parachain application, or record the data necessary for the provision of the service.TransferToRobobank()
to periodically empty your IoT device account by sending a transaction in the Robonomics parachain directly to Robobank Tower.As a result, we examined the architecture of a solution using cross-chain transactions to expand the capabilities of a separate project at the expense of a common ecosystem.
After the first tests on the Rococo network, the developers will publish instructions for the implementation and use of the Rocobank module on the wiki.robonomics.network
Our main goal is to prepare the Robobank module for the launch of parachains on the Kusama network in the summer of 2021.
To find out more, stay in touch on Twitter.