V2 release
Virtual chains are often referred to as "ONG" which is the codename for the Orbs-network-go reference implementation for a single virtual chain instance.
Definitions of terms like node
, service
, committee
. Available here.
Overview of a single virtual chain instance with brief introduction to all services is available here.
-
Node and all services init (fresh start or after a restart).
-
Client calls a read-only method of a service (not under consensus).
-
Client sends a transaction that may write to state of a service (under consensus).
-
Client queries regarding the status and receipt of an old transaction.
-
The main continuous flow of consensus where blocks are created from pooled transactions.
-
Block synchronization between nodes.
-
Block synchronization between services inside a node.
-
Provides external public gateway interface (like JSON over HTTP) for clients.
-
Holds pending and committed transactions that are propagated between nodes. Helps avoid transaction duplication.
-
Connects different nodes over the network with efficient message broadcast and unicast.
-
Pluggable consensus algorithm (multiple algorithms supported side by side).
-
Provides the system context for the consensus algorithm and deals with the actual content of blocks.
-
Executes service methods (smart contracts) using various processors and produces state difference as a result.
-
Stateless execution engine for smart contract methods in an isolated environment (multiple languages supported).
-
Holds the long term journal of all confirmed blocks (the actual chain of blocks), performs block sync between nodes.
-
Holds the latest state under consensus meaning all of the state variables for all deployed services in a virtual chain.
-
Runs nodes for other blockchains like Ethereum and provides read access to them.