# Layers

* **system/** contains core functionality, types and utilities.
* **net/** is the p2p networking base layer.
* **service/** any services such as the cashier or gateways.
* **zk/** is the zk virtual machine and related zk code.
* **zkas/** is the zk assembly language and compiler.
* **crypto/** for the merkle tree classes and other crypto primitives.
* **node/** is a fully working darkfi node.
* **wallet/** key generation and management features such as derivation and storage.
* **tx/** for the transaction builder.
* **blockchain/** blockchain database functionality and state transition.
* **consensus/** implementation of the streamlet consensus algorithm.
* **rpc/** interface for remote procedure calls, includes adapter to interface with the node backend and the default jsonrpc transport mechanism.
* **util/** various utilities.


