EVRYTHNG Developer Hub

Welcome! Here's where you'll find what you need to start working with EVRYTHNG as quickly as possible. There are comprehensive guides, documentation, and support if you get stuck. We encourage you to dive in and explore.

Create Free Account Read Documentation Get Support

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-chainpoint Reactor extension repository.

Blockchain Integration Architecture

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
}

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
}
  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 Tierion).

  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.

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 in the process of adding a number of partner platforms to the Blockchain Hub. iIn particular we are excited to launch it with three leading platforms:

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.

Tierion: the Tierion integration allows anchoring hashes of supply chain transactions to the public Bitcoin blockchain. This ensures that these transactions are immutable and cannot be modified by anyone - a useful feature when it comes to trustworthy product provenance data.

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.