Blockchain Integration Hub

The Blockchain Integration Hub is an architecture to extend the EVRYTHNG platform with features provided by decentralised platforms. The idea is to be able to leverage the features of these platforms (e.g., immutability, rewards as tokens, etc.) in conjunction with data stored in the EVRYTHNG platform to enhance product offerings.

The Integration Hub comprises of packaged scripts running in EVRYTHNG’s most popular component; our rules engine, called the Reactor. This creates a powerful and scalable integration layer between our platform and the platforms of our blockchain partners. In essence it enables actions (e.g., steps and location in the supply chain, consumer scans, etc.) to be replicated and Properties to be updated (e.g., temperature of goods, number of movements) to different blockchains.

To do this you can use our existing packaged blockchain integrations or build your own by following this guide.

Integration Architecture

The blockchain integrations are built as Reactor Extensions. The steps below describe the integration architecture we recommend if you would like to build your own integrations. For a concrete code example have a look at our reactor-iota Reactor extension repository.


Blockchain Integration Architecture

  1. actions and property updates can trigger the Reactor scripts via their event handlers. As you probably do not want all actions to be sent to the blockchain use a customField key to specify which actions should be sent. Use a Reactor filter to make sure your blockchain Reactor extension is only triggered for the right actions. An example is shown below:
// 1. filter for actions with customField
// @filter(onActionCreated) action.customFields.blockchainValidate=true
function onActionCreated(event) {
  // 2. convert or hash action to target blockchain and send
    .catch(err => logger.error(err.message || err.errors[0]))

Similarly, for properties create filter on the property you would like to watch:

// 1. filter property updates by value
// @filter(onThngPropertiesChanged) propertyChangeNew.temp_c=*
function onThngPropertiesChanged(event) {
  // 2. convert or hash action to target blockchain and send
    .catch(err => logger.error(err.message || err.errors[0]))
  1. The Reactor script is then responsible for converting the action or property update to something the target blockchain understands. It can either be a translation of the entire transaction (e.g., as with OriginTrail) or simply a hash of this transaction (e.g., as with IOTA).

  2. This is then sent to the blockchain via a public API or, for our enterprise customers, via one of the EVRYTHNG hosted blockchain nodes.

  3. If sending the action to the corresponding blockchain worked the blockchain transaction hash can be stored as part of a new action as a customField. This new action acts as the receipt of the blockchain transaction.


Action resulting from pushing a supply chain action to OriginTrail.

Note that, for scalability reasons, the action or hash on the blockchain might not be persisted as a transaction instantaneously but rather written as a batch on a regular basis. In this case we suggest using Reactor schedules for fetching the transactions hashes at a later stage, such as one hour later.

  1. Apps can then use EVRYTHNG's API or the blockchain platform API to verify the transactions or get the associated data and unlock the value for the product.

Partner platforms

We are regularly adding partner platforms to the Blockchain Hub. In particular we are excited to have rolled out integrations with the following platforms:

IOTA: with the IOTA connector you get access to a distributed ledger designed for the Internet of Things and the supply chain. It uses a directed acyclic graph (DAG) instead of a conventional blockchain. Its quantum-proof protocol, the Tangle, brings benefits like zero fees, good scalability and faster transactions when compared to other public blockchains. IOTA can be used verify the integrity of supply chain and provenance data. Its MAM protocol allows you to link transactions together which is useful to create a complete chains of events for a product.

Arianee: with the Arianee integration, you can create blockchain based transferable (ERC-721) digital certificates for each EVRYTHNG active digital identities.

OriginTrail: the integration with OriginTrail allows decentralised data sharing across supply chain partners based on the Ethereum blockchain. This makes it possible for our customers to share specific parts of their data. For instance, information required for compliance purposes or data to provide greater transparency in environments where trust is lacking. See our partnership announcement blogpost for more information.

BLOCKv: with the BlockV integration, EVRYTHNG Active Digital Identities™ (ADIs) can be linked to virtual objects that are unique, verifiable, and tradable. For instance this allows embedding physical products into Virtual Reality and Augmented Reality games and creating very compelling, token-based loyalty programs.

These integrations are available to our Enterprise customers to help them enhance their commercial products. Please contact us if you would like to use them or if you are a blockchain provider and would like to become a partner.