Inspiration

BPM (business process management) is native to blockchain due to it transactional nature. Let's help Polkadot ecosystem by providing developers with an abstraction layer for their complex business logic. Imagine updating process flow and dependencies, within having to re-write the code that represents each individual task.

What it does

Liqum is a business process protocol that facilitates collaboration between decentralized services in the Polkadot ecosystem, as well as the outside world. It allows stakeholders to agree on the workflow, and ensure that its participants interact with each other according to the same rules every time.

The centerpiece is a process model in BPMN 2.0 standard that defines all the tasks to be performed by humans and machines. The flowchart is compiled into a dynamic data structure representing the process and its instances. Once published on-chain, it controls consistent, trustless, and real-time workflow execution. Technically, we are orchestrating interaction between users, off-chain systems, and most importantly parachains.

The state changes with every piece of work performed. Smart contracts automatically assign the right jobs to the right resources. Permissioned visibility into transactions allows activity monitoring and reporting.

How I built it

We aim to create a process execution engine on top of Substrate. The key idea is to generate ink! smart contracts capable of interpreting a BPMN process model, represented as a space-optimized data structure, that can be dynamically modified at any time.

Each set of smart contracts embodies control flow logic, data structure state, and specific external user defined tasks & scripts, that are compiled directly from a BPMN model. Then, we extract compilation artifacts, such as element indexes, their respective encoded types, and condition tables. Smart contracts are initialized through Polkadot apps api and linked together by their respective AccountId's. Together, they form an executable process representation.

At this stage we are building an on-chain part of the project, while we have other far-reaching plans too.

Built With

  • polkadot
  • rust
  • substrate
Share this project:

Updates