Blockchain Integration Hub

The Blockchain Integration Hub is an architecture to extend the EVRYTHNG platform with features provided by decentralized platforms. The idea is to leverage the features of these platforms (for example, immutability, rewards as tokens, and so on) with data stored in the EVRYTHNG platform to enhance product offerings.

The Integration Hub comprises 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 (for example, steps and location in the supply chain, consumer scans, and so on) to be replicated and properties to be updated (for example, the temperature of goods or the 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 see our reactor-iota Reactor extension repository.

1985

Blockchain Integration Architecture

  1. Actions and property updates can trigger the Reactor scripts through their event handlers. To avoid all actions being sent to the blockchain, use a customField key to specify which actions are sent. Use a Reactor filter to make sure your blockchain Reactor extension is triggered only 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
  sendToBlockchain()
  	.catch(err => logger.error(err.message || err.errors[0]))
  	.then(done);
}

Similarly, for properties create a filter on the property 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
  sendToBlockchain()
  	.catch(err => logger.error(err.message || err.errors[0]))
  	.then(done);
}
  1. The Reactor script is then responsible for converting the action or property update to something the target blockchain understands. It can be a translation of the entire transaction (for example, as with OriginTrail) or simply a hash of this transaction (for example, as with IOTA).

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

  3. If sending the action to the corresponding blockchain worked as expected, 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.

954

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 regularly written as a batch. We suggest using Reactor schedules for getting 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 chain 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 identity.

OriginTrail: the integration with OriginTrail allows decentralized data sharing across supply chain partners based on the Ethereum blockchain. This enables our customers to share specific parts of their data. For instance, information required for compliance or data to provide greater transparency in environments where trust is lacking. See our partnership announcement blog post 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 example, 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. Contact us if you would like to use them or if you're a blockchain provider and would like to become a partner.