> For the complete documentation index, see [llms.txt](https://docs.dfinance.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dfinance.co/architecture.md).

# Architecture

Dfinance network consists of several main components:

* **dnode** - blockchain node - the core layer. Includes [Tendermint consensus](https://tendermint.com/), Proof Of Stake modules, oracles functional, VM functional, etc. **dnode** is built with [Cosmos SDK](https://github.com/cosmos/cosmos-sdk). See [dnode repository on GitHub](https://github.com/dfinance/dnode).
* **dncli** - command-line interface to iteract with dnode, also allows launching REST API server, has same repository that [dnode](https://github.com/dfinance/dnode).
* **dvm** - Move Virtual Machine by [Libra](https://developers.libra.org/) packed as gRPC server. Allows smart constracts execution via gRPC. Connects to **dnode** to read data from storage, **dnode** connects to VM to execute smart contracts. [See repository](https://github.com/dfinance/dvm). Also, contains compiler of Move language. Requires **dnode** for correct functioning.

You'll find more precise description of every component in other sections of this documentation.
