2.2.2.3.4 Software

return to Node Architecture

By their very nature, DIDOs are run on distributed, decentralized computers that require software to operate. The DIDO software itself can be classified as ancillary data and therefore can be distributed just like data to each DIDO node. The DIDO software could include Smart Contract, Distributed Application (ĐApp or DApp), scripts, containers, and DIDO command line interface (CLI) commands.

Smart contracts are programs actually stored on the blockchain, and “triggered” to execute when a set of conditions are met. dApps are applications that don't reside on the blockchain but interact with the blockchain. dApps are used to communicate with smart contacts, and consequently with blockchain.

In other words, dApps can be considered as “blockchain-enabled” application, and smart contracts provide easy access the blockchain. This division of responsibilities is similar to the traditional separation used in Web Application (Web App) between the user-front-end (i.e., Client) and the backed (i.e., Server). Contract development is concerned with managing agreements or transactions.

There are many non-functional benefits of dApps such as:

The Relationship Between the dApp, the Smart Contract and the blockchain

Note: Not only is the data deployed on the blockchain, the smart contract itself is deployed on the blockchain. Therefore, before the Smart Contract can be used, it must be deployed to the blockchain. With slight modification, the dApp could interact with any system regardless of it is a distributed system or not as long as the interface remains the same.