====== 2.0 DIDO CLI Background ====== [[dido:public:s_cli:05_contents:01_prt:start| Return to Part I]] A [[dido:public:ra:xapend:xapend.a_glossary:d:dido]], by definition, is a [[dido:public:ra:xapend:xapend.a_glossary:d:distsystem]] comprised of a [[dido:public:ra:xapend:xapend.a_glossary:n:node_network | network]] and a collection of [[dido:public:ra:xapend:xapend.a_glossary:n:node | nodes]] particpating in a [[dido:public:ra:xapend:xapend.a_glossary:p:p2p | Peer to Peer (P2P) network]]. Each node within the DIDO operates asynchronously and independently from all the others nodes. The nodes communicate changes in the state of the distributed [[dido:public:ra:xapend:xapend.a_glossary:o:object|objects]] managed by each nde by publishing [[dido:public:ra:1.2_views:2_tech_views:2-nodenet:3_nodearch:2_ido:2_trans | Transactions]] across the [[dido:public:ra:xapend:xapend.a_glossary:n:node_network|node network]]. See Figure {{ref>DidoOverview}}. Notice that the DIDO is composed of different kinds of Nodes (See [[dido:public:ra:1.2_views:3_taxonomic:3_node_tax:start]]).
{{ dido:public:s_cli:05_contents:01_prt:02_basics:screen_shot_2021-04-16_at_10.21.09_am.png?700 |}} Overview of a DIDO
Any one [[dido:public:ra:1.2_views:2_tech_views:2-nodenet:3_nodearch:2_ido | Distributed Immutable DIstributed Data Objects]] can exists on any or all of the kinds of nodes. For example, in Figure {{ref>DidoOverview}}, the Green nodes may represent [[dido:public:ra:1.2_views:2_tech_views:2-nodenet:3_nodearch:2_ido:4_wall | Wallets]] without any distributed objects, while the pink nodes might represent [[dido:public:ra:1.2_views:3_taxonomic:3_node_tax:full:archival | Archival Nodes]] that not only have the distributed objects, but a complete [[dido:public:ra:1.2_views:2_tech_views:2-nodenet:3_nodearch:3_xdata:1_jrnl | journal]] (i.e., [[dido:public:ra:xapend:xapend.a_glossary:l:ledger|ledger]]) of all the transactions every applied to the distributed object. One of the most important aspects about a DIDO is that each participating Node in the Node Network using the Distributed Object arrives at the same state for the object given any transaction. In essence, the result of the transaction needs to be deterministic in nature (i.e., the same input (Transaction) achieves the same output (Journal Entry in the Journal). /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /* To add a discussion page to this page, comment out the line that says ~~DISCUSSION:off~~ */ ~~DISCUSSION:on|Outstanding Issues~~ ~~DISCUSSION:off~~