DIDO Command Line Interface (DIDO-CLI)
Avoiding the pitfalls of multiple non-standard blockchain interfaces by creating a unified interface language similar to SQL
The following is a proposal for a Command Line Interface (CLI) for accessing Distributed Immutable Data Objects (DIDOs) using a text-based interface to interact with the DIDO DIDO Platform. The CLI allows the user (person or application) to interact with the DIDO Platform by entering text commands at a prompt and receiving a responses as text. Usually, the CLI is an application running within an Operating System (OS) using a Command Shell on the same machine as the DIDO Platform or using a Secure Shell (SSH) as a prompt by typing single commands into the interface and receiving a reply in the same way. CLI is quite different from the graphical user interface (GUI) that is presently being used in the latest operating systems.
A Distributed Immutable Data Objects (DIDO), by definition, is a Distributed System comprised of a network and a collection of nodes participating in a 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 objects managed by each node by publishing Transactions across the node network. Notice that the DIDO is comprised of different kinds of Nodes (See Node Taxonomy).
DIDO Data Lifecycle Language (DDLL)
The DIDO Lifecyle Language (DLL) is responsible for controlling the Lifecycle of the DIDO instances distributed across the Nodes in the DIDO Network. The DidoLL does not cover the System Lifecycle which is responsible for the system conception, design and development, production and/or construction, distribution, operation, maintenance and support, retirement, phase-out and disposal. Although there is some overlap, the System Lifecycle covers also covers the development of the DIDO Platform while the DidoLL only covers the deployment and execution of the DIDO software on the individual nodes.
DIDO Data Definition Language (DDDL)
The DIDO Definition Language (DDDL) is similar in functionality of the Data Definition Language (DDL) found in Relational DataBase Management System (RDBMS). Its purpose is to define the objects stored within the DIDO including the types, objects, oracles, exchanges, and aggregates, and smart contracts.
DIDO Data Manipulation Language (DDML)
The DIDO Manipulation Language (DDML) is similar in functionality to the Data Manipulation Language (DML) found in Relational DataBase Management System (RDBMS). Its purpose is to manipulate the content of a DIDO (i.e., STORE) or to make queries about the content of the DIDO (i.e., SELECT)
The DIDO Data Manipulation Language (DDML) is similar in functionality to the Data Manipulation Language (DML) found in Relational DataBase Management System (RDBMS). Its purpose