Inspiration

In the post-industrial world we need an “epistemological break” for the financial sector, economy, and humanity. Thus we need to rethink and rebuild economic and financial systems from a profit-oriented to sustainability-oriented approach. In neo-economics, energy transition and multi-agent autonomous systems (e.g. robots, autonomous vehicles, smart factories, etc.) will play a key role. As part of our RoboFi project, we aim to demonstrate the possibility of building a digital trustless environment that will allow the economic interaction between robots in the process of creating sustainable value that integrates the economic, environmental, social and governance (EESG) dimension of sustainability. Current project describes one of the applications of Robonomics for building decentralized financial infrastructure (DeFi) for economic interaction between service robots without intermediaries. Thus, RoboFi combines the concepts of Robotics and DeFi (RoboFi = short from Robo[tics]+[De]Fi). By "robots" here we mean a broad class of entities (energy machines: power plants, ESSs, EVs, UAVs, etc) that convert energy (clean/green electricity) into work to create new sustainable value. Initially we have started RoboFi as internal R&D project (named Robocharge [https://youtu.be/3wBk2hODqkw]) to find solution for trustless and secure P2P economic interactions (value transfer) between machines (M2M) and humans (H2M). Also this project is an evolutionary development of the Electrodo project, with which our team was the winner of the European research grant program from Eureka (GlobalStars-Singapore Call): “Achieving sustainable living for residents of public housing in Singapore”. Today together with our Singaporean partners under this Eureka program we develop a platform for sustainable living in public housing (HDB) in Singapore. The goal of this project is to educate and motivate HDB tenants for sustainable living behavior through using Clean energy traceability and Sustainable living gamification by “Clean Energy Credits”. Clean Energy Credits are used for offset a tenants carbon footprint and energy bill payments. For this project, we provide blockchain-enabled decentralized infrastructure for clean energy asset management and payments tokenization. Testing of this RoboFi is carried out as part of a joint R&D project with the Singapore Institute of Technology (SIT). We use the SIT's solar power plant testbed (more details in the project materials) to get data about green (solar) energy generation. Thus, we are inspired by the idea of contribution to building the neo-economy by using Web3 technologies and the Polkadot ecosystem in Singapore. We have plans to further scale this project with the participation of research institutions and industrial enterprises here in Singapore.

What it does

In the RoboFi robotic economy ecosystem, there are two robotic entities - 2 service robots (Robot Werther and Robot Alice) that provide commercial services for humans and other robots (for example, commercial delivery services, retail services, repair services, charging services, etc.) . One of the robots, Robot Werther (energy / EACs generator), also owns a solar power plant that produces clean (green) electricity. Robot Werther performs its tasks of providing services and, if necessary, is charged from its own solar power plant. In addition to direct electricity consumption, when a power plant generates 1 MWh of electricity, 1 EAC/REC (Energy Attribute Certificate / Renewable Energy Certificates ) is created, which confirms the fact and origin of this electricity and is an independent digital tradable asset.

Now let's look at the process of creating EAC in our RoboFi ecosystem:

  • Electricity generation data from the power plant is transmitted to the Robonomics parachain Polkadot,
  • This data from the Polkadot parachain of Robonomics is transferred to the Polkadot parachain of Westmint, where an NFT certificate is created, the metadata of which stores the attributes of the generated electricity. Thus, we tokenize electricity;
  • Robot Werther now needs to withdraw its certificates to a decentralized exchange for sale
  • For this, the RoboFi EAC marketplace is used, which runs on the NEAR protocol.
  • NFT from Westmint is transferred to the marketplace, where NEAR NFT EAC is created
  • NEAR NFT EAC metadata specifies NFT EAC parameters from Westmint
  • NFT EAC is ready for sale.

Not all robots are as lucky as Robot Werther - not everyone has their own solar power plant. An example is Robot Alice (energy / EACs consumer). This robot is charged from the common power grid of the RoboFi ecosystem using an energy mix that includes non-renewable energy sources. Robot Alice, at the same time, strives to create Sustainable Value, implement a Sustainable development strategy, in such a way that its services have a positive impact on external ecosystems (the environment and communities of robots and people). Accordingly, there is a need to confirm the origin (Origin) and tracking (Traceability) of consumed electricity. To implement this task, Robot Alice connects to the RoboFi NFT EACs Marketplace (an exchange where EACs are traded in certificates), selects EACs from Robot Werther for sale and buys them. At the same time, the corresponding number of EACs is burned in the Polkadot network, solving the “double spending” problem. After acquiring EACs Robot Alice can indicate in its robo ESG reporting that clean energy sources were used in the process of providing services, thus confirming the creation of Sustainable Value (Sustainable Public Goods) . To ensure the functioning of the project economy, we use our own token and NFT collection:

To represent energy which is available for sale we have NFT collection (ID 482) on Westmint parachain - https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fwestmint-rpc.dwellir.com#/nfts; To pay for energy which was sold we have PVSE token (ID 482) on Westmint parachain - https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fwestmint-rpc.dwellir.com#/assets;

How we built it

Application consists of a few different parts and we want to describe how we come with the final solution:

  • Part1 - collects datas directly from power suppliers who want to sell energy. We were looking for different approaches for it, and Robonomics parachain was one of those. Conceptually it was like an ideal match for us, as it has built-in functionality for connecting hardware devices. We use it to get data from hardware devices using the Digital Twin concept. The only thing we need is to add some data from device to Robonomics parachain (e.g. using MQTT protocol as we did for testing with real solar panel) and send data (generated power, climate conditions, station location, price of the generated electricity, account address where to send reward if it will be sold, etc..) to blockchain.
  • Part2 - tokenize electricity which was added to Robonomics parachain using custom NFT collection and custom tokens. To find a solution for this task we were looking into different parachains - Statemint (on Polkadot), Statemine (on Kusama), Westend (on Westmint), Rockmine (on Rococo). Westmint and Rockmine are parachains from test networks, and it was very easy to get test coins to start working with them. We chosen Westmint, as it is the latest test network for Polkadot and the amount of test tokens which we can get for testing was bigger comparing to Rococo network. So, when a power supplier wants to sell some amount of renewable energy it is required just to connect the power generation source to Robonomics parachain. After that NFT which represents energy for trading will be created. Another role is to burn NFT item and transfer PVSE tokens to electricity owner account after the generated energy is sold.
  • Part 3 - marketplace on NEAR blockchain for EAC trading. Web application which handles I-RECs certificates trading based on available NFTs (created by Part1). It is our existing app and we decided that it could be great to make it work with Polkadot blockchain.
  • Part 4- the most interesting. How to connect Polkadot with NEAR? We need to have some kind of Bridge between the Polkadot and NEAR. We analyzed all existing solutions (including official information https://wiki.polkadot.network/docs/learn-bridges) and found that such a bridge is not created for now. After that we estimated the effort/resources which we need to create fully functional bridge from Polakdot to NEAR and found that it could be a very good idea for ecosystem improvement for our team. But for hackathon scope we will go in another way - create an HTTP API service which will provide functionality which we need to make our marketplace work. So, we had to create a custom “bridge” for our needs. It works like an HTTP API service for communicating with the Polkadot network.

Challenges we ran into

  • The most complicated part was to synchronize data state in the NEAR protocol and Polkadot network. For now there are no existing bridges which could be used to connect NEAR based blockchain solution and one of Polkadot parachain (or parachain on test networks). For this reason we had to build a custom solution to achieve that - HTTP API server which works as a proxy between different networks and helps to synchronize data and provide a suitable way to exchange information.
  • To interact with the Polkadot node we used subxt framework (https://github.com/paritytech/subxt). There are some examples in documentation for it, but mostly they cover very simple cases and it is not enough to get into it quickly if you need to solve some non-trivial task. For this reason it tooks some time to understand how it works and investigate source code. Also we were choosing between one more library for the same purpose - substrate-api-client (https://github.com/scs/substrate-api-client). But the documentation for it is not really good and it was really time consuming to make it work. So, a framework from paritytech was chosen. Idea for improvement (which we also want to participate) - adding more examples how to use it with different extrinsics on different parachains. From our side we can add more examples for Assets and Uniques on Westmint. (usage should be the same as for other parachains on different networks which handle assets and NFTs management);
  • There were some problems with the Robonomics interface wrapper for python (https://github.com/Multi-Agent-io/Robonomics-interface). To submit launch extrinsic there is a py function - “send_launch” which takes robot account id and some parameters. But in the code example it takes a bool parameter (https://github.com/makyul/robonomics-carbon-footprint/blob/main/plug.py). It will not work and the RPC method expects parameters to be in the form of hex data. Solution - fix Robonomics interface wrapper to convert parameters to hash form, or change function API and update repository with examples.

Accomplishments that we're proud of

So, for the Polkadot network we created our custom token - PVSE token on Westmint network (ID 482) - and NFT collection (ID 482 on Westmint network), which represent some energy which was generated by the power station.

We showed an example of how decentralized blockchain technology can be used to digitize electricity generation/consumption data in real world examples.

We demonstrated the possibility of building a digital trustless environment that will allow the economic interaction between robots in the process of creating sustainable value that integrates the economic, environmental, social and governance (EESG) dimension of sustainability. In this case, the blockchain acts as a layer of trust.

Also the incredible part is that we were able to connect a real solar panel that is based in SIT (Singapore Institute of Technology) to our system and collect data from it for testing and store it in the Robonomics parachain. Using the MQTT protocol we were able to collect information about data generation, temperature conditions and a lot of interesting things which could be measured.

The most interesting challenge was synchronizing data between Polkadot and NEAR blockchains. Currently there are no existing solutions to solve this problem, so we had to create a basic solution for our needs. It was presented as an HTTP API service which provides a way how we can interact with Polkadot. Under the hood it depends on Subxt project.

What we learned

It was a great time working with the Polkadot ecosystem. We learned a lot about how the ecosystem works in general and what opportunities it provides compared to other offers on the market. A series of workshops played an important role in this. We would like to point a few of them:

  • Introduction to Polkadot - general overview;
  • Workshop: Introduction to Substrate;
  • Robonomics workshop;
  • Workshop: Build dApps with the Substrate Connect light client

Also we want to emphasize that our team is very interested in further development of the ecosystem in general and its use for new projects. We also observe a lot of opportunities for the further development of the ecosystem itself and understand what contribution we can make. In our opinion, one of the key directions of ecosystem development is its interaction with existing blockchains, which is what our project is actually related to.

What's next for RoboFI

  1. During the implementation of the RoboFi project, we faced the need to exchange data between the Polkadot parachain and the NEAR blockchain (which we used earlier to develop the standalone exchange for "green certificates" (EACs) trading). Therefore, we aim to submit the project to build the Polkadot-NEAR cross-chain bridge under the Web3 grant program [https://polkadot.network/blog/polkadot-bridges-connecting-the-polkadot-ecosystem-with-external-networks/].
  2. For the next version, we'll migrate RoboFi and provide support for the Statemint Parachain: Statemine instance [https://parachains.info/details/statemine]. This parachain will be responsible for the tokenization of green assets (e.g. I-RECs, Carbon Credits, etc.).
  3. We'll continue to work on developing an improved version of the data management service between the external physical energy infrastructure (solar power plant) and the Robonomic Network within our co-innovation collaboration with SIT (Singapore Institute of Technology). To implement this service we are considering to use FIWARE Context Broker [https://www.fiware.org/catalogue/].
  4. Our mid-term plans include the implementation of RoboFi for the commercial E-Mobility domain with the support of electric vehicles. In this scenario, the electric vehicle is an autonomous economic agent in the process of providing transportation services and offsetting the carbon footprint (Scope 1 / Scope 3 emissions) through the purchase of tokenized green assets (I-RECs, Carbon Credits).

Built With

  • mqtt
  • polkadot
  • python
  • robonomics
  • rococo
  • rust
  • substrate
  • subxt
  • westmint
+ 9 more
Share this project:

Updates