This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
dido:public:s_cli:05_contents:01_prt:02_basics:02_solstack:didostack:start [2021/08/17 13:10] murphy |
dido:public:s_cli:05_contents:01_prt:02_basics:02_solstack:didostack:start [2021/08/18 11:40] (current) murphy |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| [[dido:public:s_cli:05_contents:01_prt:02_basics:start| Return to DIDO CLI Background]] | [[dido:public:s_cli:05_contents:01_prt:02_basics:start| Return to DIDO CLI Background]] | ||
| - | The proposed DIDO Solution Stack is modeled after the [[dido:public:s_cli:05_contents:01_prt:02_basics:02_solstack:dbstack:start| Database Solution Stack]]. The core features of both stacks is persistent storage of data and the modification of data using [[dido:public:ra:1.2_views:2_tech_views:2-nodenet:3_nodearch:2_ido:2_trans | Transaction]]. The major difference is that the DIDO [[dido:public:ra:xapend:xapend.a_glossary:d:data_object|data objects]] Transactions are journaled with each Transaction being distributed to all the [[dido:public:ra:xapend:xapend.a_glossary:n:node|nodes]] in the [[dido:public:ra:xapend:xapend.a_glossary:n:node_network|node network]]. The details about how the Transactions are bundled, validated and verified vary amongst [[dido:public:ra:1.2_views:2_tech_views:2-nodenet:2_node:3_platform | DIDO platforms]]. For example, some [[dido:public:ra:xapend:xapend.a_glossary:p:platform|platforms]] bundle the Transactions into a block and the block is distributed once it has been verified by a [[dido:public:ra:xapend:xapend.a_glossary:m:mining|mining]] operation. Others use "neighboring" nodes to valid and verify the Transactions. | + | The proposed DIDO [[dido:public:ra:xapend:xapend.a_glossary:s:solutionstack|Solution Stack]] is modeled after the [[dido:public:s_cli:05_contents:01_prt:02_basics:02_solstack:dbstack:start| Database Solution Stack]]. The core features of both stacks is persistent storage of data and the modification of data using [[dido:public:ra:1.2_views:2_tech_views:2-nodenet:3_nodearch:2_ido:2_trans | Transaction]]. The major difference is that the DIDO [[dido:public:ra:xapend:xapend.a_glossary:d:data_object|data objects]] Transactions are journaled with each Transaction being distributed to all the [[dido:public:ra:xapend:xapend.a_glossary:n:node|nodes]] in the [[dido:public:ra:xapend:xapend.a_glossary:n:node_network|node network]]. The details about how the Transactions are bundled, validated and verified vary amongst [[dido:public:ra:1.2_views:2_tech_views:2-nodenet:2_node:3_platform | DIDO platforms]]. For example, some [[dido:public:ra:xapend:xapend.a_glossary:p:platform|platforms]] bundle the Transactions into a block and the block is distributed once it has been verified by a [[dido:public:ra:xapend:xapend.a_glossary:m:mining|mining]] operation. Others use "neighboring" nodes to valid and verify the Transactions. |
| <figure> | <figure> | ||
| Line 21: | Line 21: | ||
| * **DIDO Platform CLI** - Sme DIDO platforms offer their own proprietary CLI. There have been efforts to "re-use" a particular DIDO Platform CLI on different Platforms. | * **DIDO Platform CLI** - Sme DIDO platforms offer their own proprietary CLI. There have been efforts to "re-use" a particular DIDO Platform CLI on different Platforms. | ||
| * **DIDO API** - Many DIDO Platforms provide [[dido:public:ra:xapend:xapend.a_glossary:a:api|APIs]] allowing a programmer to directly access a DIDO. For example, [[dido:public:ra:xapend:xapend.a_glossary:e:ethereum|Ethereum]] provides a __Javascript API Libraures__, [[https://ethereum.org/en/developers/docs/apis/javascript/]] or __Ethereum JSON RPC__, [[https://ethereumbuilders.gitbooks.io/guide/content/en/ethereum_json_rpc.html]]. | * **DIDO API** - Many DIDO Platforms provide [[dido:public:ra:xapend:xapend.a_glossary:a:api|APIs]] allowing a programmer to directly access a DIDO. For example, [[dido:public:ra:xapend:xapend.a_glossary:e:ethereum|Ethereum]] provides a __Javascript API Libraures__, [[https://ethereum.org/en/developers/docs/apis/javascript/]] or __Ethereum JSON RPC__, [[https://ethereumbuilders.gitbooks.io/guide/content/en/ethereum_json_rpc.html]]. | ||
| - | * **DIDO Configuration** - There are always two aspects to configuring a DIDO. The first is setting up the environment externally to the DIDO Platform (i.e., downloading the software, running a wizard to install and configure the DIDO, etc), the second is the startup, upgrade, shutdown, etc of the DIDO Platform. | + | * **DIDO Configuration** - There are always two aspects to configuring a DIDO. The first is setting up the environment externally to the DIDO Platform (i.e., downloading the software, running a [[dido:public:ra:xapend:xapend.a_glossary:w:wizard|wizard]] to install and configure the DIDO, etc), the second is the startup, upgrade, shutdown, etc of the DIDO Platform. |
| * **DIDO Data Definition** - A DIDO provides a way to define Types, objects, oracles, exchanges, aggregates, and smart contracts, etc. to the DIDO. | * **DIDO Data Definition** - A DIDO provides a way to define Types, objects, oracles, exchanges, aggregates, and smart contracts, etc. to the DIDO. | ||
| * **DIDO Data Manipulation** - A DIDO provides a way to manipulate the inserting data into DIDO Objects, making for deletion objects, creating a Transaction to update the objects and associated data from different objects together. | * **DIDO Data Manipulation** - A DIDO provides a way to manipulate the inserting data into DIDO Objects, making for deletion objects, creating a Transaction to update the objects and associated data from different objects together. | ||
| Line 88: | Line 88: | ||
| </figure> | </figure> | ||
| - | In the third scenario, an application uses a DIDO Platform specific library that specifically supports the coding language requires of the application (i.e., [[dido:public:ra:xapend:xapend.a_glossary:j:javascript|Javascript]], Python, Java, etc) to interact with the DIDO Platform generally these languages are imbedded in Web Pages or can be used within the language specific applications. The application can be a thicker client or a lightweight browser application. The client talks to the server usually [[dido:public:ra:xapend:xapend.b_stds:tech:w3c:xml | XML]] or more recently [[dido:public:ra:xapend:xapend.b_stds:tech:ietf:json | JSON]]. | + | In the third scenario, an application uses a DIDO Platform specific library that specifically supports the coding language requires of the application (i.e., [[dido:public:ra:xapend:xapend.a_glossary:j:javascript|Javascript]], Python, Java, etc) to interact with the DIDO Platform generally these languages are imbedded in Web Pages or can be used within the language specific applications. The application can be a thicker client or a lightweight browser application. The client talks to the [[dido:public:ra:xapend:xapend.a_glossary:s:server|server]] usually [[dido:public:ra:xapend:xapend.b_stds:tech:w3c:xml | XML]] or more recently [[dido:public:ra:xapend:xapend.b_stds:tech:ietf:json | JSON]]. |
| <figure applicationServerModel> | <figure applicationServerModel> | ||