Storing information (data & files) and functions on-chain for public-ledger immutability.
In this guide we cover the values of on-chain storage and how the entityOS integration with Cardano blockchain works.
Remember if you have any questions please email as at team@entityos.cloud
The inbuilt GUID/UUID assigned to every instance of object data in entityOS storage can be used as a unique ID within the metadata associated with a token.
Some common usecases for on-chain tokens as representations of data.;
Description | entityOS Objects |
---|---|
Identity | Business & Person Contacts |
Real-world Objects | Products |
Locations | Addresses, Sites |
Certificates | Insurance, Compliance |
Activity | Actions By Type. |
Each token is represented by a native-asset on the Cardano blockchain and each native-asset is controlled by a policy - which is in itself stored on-chain as a policy-script.
Everything ends up on-chain via a transaction.
The transaction is submitted, by entityOS, to the Cardano blockchain where it is processed by the Cardano validators (stake pool operators).
Every transaction has a fee associated with it, which is paid using ADA the native currency of Cardano.
The information related to each native-asset ("token") is stored in the metadata.
Example metadata for identity, in this case a skill;
{
"115100105":
{
"92be578d1c063b70edf9b2ca0b53c7a58142b65eba43a5b55bdd6cb7":
{
"SDI-skill":
{
"e4e4a9501a4648f48a71c37685c32e02":
{
"zone": "lab",
"type":
{
"sdi": "707599e9-bf08-4881-a25a-061142b33ee2",
"name": "skill"
},
"sdi": "e4e4a950-1a46-48f4-8a71-c37685c32e02",
"name": "Canteen Supervisor-1-G",
"reference":
{
"number": "301000111",
"domain": "301",
"source": "00",
"level": "011",
"capacity": "1"
},
"notes": "Canteen [301] Supervisor [1] Level 1 [1], Gets It [1]",
"url":
[
"https://",
"identity.selfdriven.cloud/",
"#skill/",
"e4e4a950-1a46-48f4-8a71-c37685c32e02"
],
"image": ["ipfs://", "bafkreigz7afau3e5xz5fdrrlgbc6ohp6wazvzbizy4t4pgtf3owgrngtl4"]
}
}
}
}
}
Autonomous Apps can be created on-chain as decentralised Apps ("dApps") using Smart Contracts.
i.e. payment for goods once they can be proven to be sent.
With Cardano you can do this directly using Plutus (Haskell based language) or Marlowe a financial transaction Domain Secific Language (DSL).
Plutus is a functional programming language and thus has similar concepts to entityOS, in that everthing is functional (a function) or as in the case of entityOS a "controller" as a function.
Functions are unit level i.e. do "one thing", and always the "same thing".
A collection of functions work as transformations on data.
Plutus (Haskell) functions have referential transparency.
Getting Started with Cardano Smart Contracts (Plutus).
dApps need access to trustable real-world information, like when an order has shipped or the exchange rate between say AUD/ADA, so they can then trigger the actions that are programmed into them - i.e. send ADA to seller.
To access this type of real-world information, dApps use "Oracles" like Charli3 & Orcfax.
entityOS can also act as an Oracle (e.g. sharing the status of a particular order) - either direcly via the API, via a service like Charlie3, or using a nodejs based proxy transfer the data on-chain as an asset - which can then be access by the smart contract on-chain.
Learn entityOS On-Chain (Blockchain) Integration (github, nodejs code).