RESTchain

RESTChain is a model-driven framework relying on blockchain to enforce the interactions among services. It automatically derives Mediators and Smart Contracts that coordinate the service interactions enabling communication through the blockchain in a secure, auditable, and transparent manner.

RestChain Framework

Service Choreography Design: a BPMN2 choreography diagram is created to define how services interact at runtime, including precise interfaces and message payloads.

Choreography Instance Derivation: organizations select a suitable choreography and create instances that act as reusable blueprints for collaborative execution.

Participants Registration: organizations subscribe to specific roles within the choreography and install a RESTChain mediator to enable secure, blockchain-based communication.

Generation and Deployment: RESTChain automatically generates a smart contract that enforces the choreography rules and ensures only valid interactions occur.

Execution: mediators coordinate REST service calls according to the smart contract, while message payloads are efficiently stored in IPFS with trusted blockchain references.

Auditing: internal or external entities can verify compliance with the initial specification by leveraging blockchain transparency to trace interactions, detect deviations, and analyze performance.

RestChain Architecture

IPFS: stores all REST call data used in the choreography, generating unique IDs for each call. These IDs are saved in the smart contract, reducing blockchain storage costs and keeping execution efficient by storing large data off-chain.

Blockchain: manages smart contracts that control and verify service interactions. It immutably stores IPFS IDs, enforces choreography rules, and ensures only valid message flows occur through Solidity-based contracts.

RESTChain Application: built with SpringBoot and ReactJS, it supports choreography design, smart contract creation, and deployment. It provides a user-friendly interface and connects to the blockchain via web3.js without acting as a central authority.

Organization RESTChain Mediator: a JavaScript-based component managed by each organization that executes REST calls according to the smart contract. It enables secure, decentralized service coordination and can include a GUI for user interaction or auditing.

RestChain Application

Service Choreography Design Panel: This panel displays the integrated BPMN2 modeler where users can visually design service choreographies. It includes tools to define messages, set REST requests and responses, and link them to IPFS identifiers through the property panel.

Choreography Instance Derivation Panel: users can select an uploaded choreography model, create a new instance, and subscribe to roles. The interface shows available choreographies and provides buttons for instance creation and role configuration.

Execution Panel: this shows the live state of the choreography, with colored indicators: green for enabled tasks, red for completed ones, and gray for pending. It includes an interactive panel to input REST call data and trigger executions manually or via mediators

Auditing Panel:
This panel provides a graphical view of the choreography’s progress and a data section showing IPFS-stored message payloads. It allows users to inspect past interactions, verify exchanged data, and analyze the current execution status.