# deepbrainchain/deepbrainchain-mainchain architecture

> Architecture diagram of the GitHub repository deepbrainchain/deepbrainchain-mainchain, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/deepbrainchain/deepbrainchain-mainchain
- Repository: https://github.com/deepbrainchain/deepbrainchain-mainchain

## Overview

DeepBrainChain is a Substrate-based blockchain whose documented participation path is to run a validator node or stake and nominate validators, earning staking rewards. The repository also implements machine rental and reporting, committee workflows, NFTs, EVM support, and RPC interfaces. The graph shows documented participation and only source-index-supported internal links; several pallet relationships and runtime wiring cannot be confirmed from the excerpts, so they are not connected.

Main entry points: [`node/cli/src/service.rs`](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/node/cli/src/service.rs) (Full node), [`pallets/nfts/src/lib.rs`](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/nfts/src/lib.rs) (NFT operations), [`node/cli/src/rpc.rs`](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/node/cli/src/rpc.rs) (Node RPC), [`pallets/staking/src/pallet/impls.rs`](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/staking/src/pallet/impls.rs) (Staking)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_node["Node operation"]
  node_fullnode["Full node<br/>[service.rs]"]
  node_node_rpc["Node RPC<br/>[rpc.rs]"]
end

subgraph group_chain["Runtime and staking"]
  node_runtime["Chain runtime<br/>[lib.rs]"]
  node_staking["Staking<br/>[impls.rs]"]
end

subgraph group_machines["Machine marketplace"]
  node_rental["Machine rental<br/>[lib.rs]"]
  node_termination["Rental termination<br/>[lib.rs]"]
  node_profile["Machine profiles<br/>[lib.rs]"]
  node_fault_reports["Fault reports"]
end

subgraph group_governance["Committee workflows"]
  node_committee["Committee membership<br/>[lib.rs]"]
  node_online_committee["Online committee<br/>[lib.rs]"]
  node_maintenance["Maintenance committee<br/>[lib.rs]"]
end

subgraph group_features["Chain features and RPC"]
  node_nfts["NFT operations<br/>[lib.rs]"]
  node_nft_traits["NFT interfaces"]
  node_evm_tracing["EVM tracing<br/>[call_list.rs]"]
  node_trace_rpc["Trace RPC<br/>[lib.rs]"]
end

node_validator(("Validator"))
node_nominator(("Nominator"))

node_validator -->|"runs"| node_fullnode
node_nominator -->|"stakes and nominates"| node_staking
node_fullnode -->|"configures"| node_node_rpc
node_nfts -->|"implements"| node_nft_traits

click node_fullnode "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/node/cli/src/service.rs"
click node_node_rpc "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/node/cli/src/rpc.rs"
click node_runtime "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/runtime/src/lib.rs"
click node_staking "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/staking/src/pallet/impls.rs"
click node_rental "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/rent-machine/src/lib.rs"
click node_termination "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/terminating-rental/src/lib.rs"
click node_profile "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/online-profile/src/lib.rs"
click node_fault_reports "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/terminating-rental/src/report_machine_fault.rs"
click node_committee "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/committee/src/lib.rs"
click node_online_committee "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/online-committee/src/lib.rs"
click node_maintenance "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/maintain-committee/src/lib.rs"
click node_nfts "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/nfts/src/lib.rs"
click node_nft_traits "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/nfts/src/impl_nonfungibles.rs"
click node_evm_tracing "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/client/evm-tracing/src/listeners/call_list.rs"
click node_trace_rpc "https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/client/rpc/trace/src/lib.rs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_fullnode,node_node_rpc toneBlue
class node_runtime,node_staking toneAmber
class node_rental,node_termination,node_profile,node_fault_reports toneMint
class node_committee,node_online_committee,node_maintenance toneRose
class node_nfts,node_nft_traits,node_evm_tracing,node_trace_rpc,node_validator,node_nominator toneIndigo
```

## Components

### Node operation

- [Full node](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/node/cli/src/service.rs): `node/cli/src/service.rs`
- [Node RPC](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/node/cli/src/rpc.rs): `node/cli/src/rpc.rs`

### Runtime and staking

- [Chain runtime](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/runtime/src/lib.rs): `runtime/src/lib.rs`
- [Staking](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/staking/src/pallet/impls.rs): `pallets/staking/src/pallet/impls.rs`

### Machine marketplace

- [Machine rental](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/rent-machine/src/lib.rs): `pallets/rent-machine/src/lib.rs`
- [Rental termination](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/terminating-rental/src/lib.rs): `pallets/terminating-rental/src/lib.rs`
- [Machine profiles](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/online-profile/src/lib.rs): `pallets/online-profile/src/lib.rs`
- [Fault reports](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/terminating-rental/src/report_machine_fault.rs): `pallets/terminating-rental/src/report_machine_fault.rs`

### Committee workflows

- [Committee membership](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/committee/src/lib.rs): `pallets/committee/src/lib.rs`
- [Online committee](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/online-committee/src/lib.rs): `pallets/online-committee/src/lib.rs`
- [Maintenance committee](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/maintain-committee/src/lib.rs): `pallets/maintain-committee/src/lib.rs`

### Chain features and RPC

- [NFT operations](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/nfts/src/lib.rs): `pallets/nfts/src/lib.rs`
- [NFT interfaces](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/pallets/nfts/src/impl_nonfungibles.rs): `pallets/nfts/src/impl_nonfungibles.rs`
- [EVM tracing](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/client/evm-tracing/src/listeners/call_list.rs): `client/evm-tracing/src/listeners/call_list.rs`
- [Trace RPC](https://github.com/deepbrainchain/deepbrainchain-mainchain/blob/master/client/rpc/trace/src/lib.rs): `client/rpc/trace/src/lib.rs`

### Other components

- **Validator**
- **Nominator**

## Connections

- Validator → Full node: runs
- Nominator → Staking: stakes and nominates
- Full node → Node RPC: configures (evidence: `node/cli/src/service.rs`)
- NFT operations → NFT interfaces: implements (evidence: `pallets/nfts/src/lib.rs`)
