The Envelope
The Envelope is the name for the standard way that all components of The Platform talk with each other. This enables code and processes to be shared/ reused across components.
From a technical standpoint, the envelope is a JSON object with a specific format that is used for the basis of all inter-process communication.
Envelopes are how things are communicated to the platform. The purpose of the UI is to help visualize the movement of the envelopes through the process. Now for most envelopes this will happen very quickly but it is possible for it to take a few.
When an envelope is submitted it goes through a process:
An envelope gets submitted to The Platform API, potentially millions/billions of them.
The Platform API writes the data to the data cache.
The Platform API encrypts the data portion of the envelope.
The Platform API send the encrypted data to Off Chain Manager (OCM).
OCM writes a transaction to the blockchain that includes a hash of the encrypted data portion of the envelope.
OCM writes a file to Off Chain Storage that include the encrypted data.
Each envelope has Header fields and then a data section, while there are some parts of the data section that are similar each ETId schema determines what fields are available
Figure 2.1.
Figure 2.2.
The encryption screen is to demonstrate that the data section of each envelope is encrypted and with the proper encryption key, managed by the platform, it can be decrypted.
It is possible that the singed in user does not have access to the key needed to decrypt and envelope.
Figure 2.3.
Figure 2.4.