Skip to Content
DocumentationArchitecture

ResilientDB Architecture

ResilientDB uses a modular, layered architecture that separates client interfaces, service logic, and execution. The diagram below illustrates how data flows through the system from client SDKs down to blockchain state and storage.

Data Flow Overview

Client Interfaces
SDKs
C++ · Python · Go
RESTful APIs
HTTP · JSON
GraphQL
Queries · Mutations
RPC
Service Layer
Key-Value
KV Store
Smart Contract
EVM · Solidity
UTXO
Unspent Outputs
RDBC API
TCP
Execution Layer
NetworkSubstrate
RDBC Driver
Consensus & Ordering
Pbft
Geo-Pbft
PoC
Settlement NotaryFinality & Receipts
Transaction Execution
Key-Value Executor
Smart Contract Executor
UTXO Executor
Blockchain State & Storage
High-Throughput In-Memory Chain State
Embeddable KV Store
LevelDB
Memory DB
In-Memory Store

The architecture is organized into these main layers:

Client Interfaces

Applications interact with ResilientDB through multiple interfaces:

  • SDKs — Native client libraries for C++, Python, and Go
  • RESTful APIs — HTTP/JSON endpoints for standard web integration
  • GraphQL — Queries and mutations for flexible data access

Service Layer

The service layer exposes different data models and the unified RDBC API:

  • Key-Value — Simple KV store operations
  • Smart Contract — EVM-compatible Solidity execution
  • UTXO — Unspent transaction output model

Execution Layer

The execution layer handles consensus, transaction processing, and storage:

  • Network Substrate — P2P communication between replicas
  • RDBC Driver — Connects service requests to the consensus engine
  • Consensus & Ordering — Pbft, Geo-Pbft, and PoC algorithms
  • Settlement Notary — Finality and receipt generation
  • Transaction Execution — Key-Value, Smart Contract, and UTXO executors
  • Blockchain State & Storage — In-memory chain state with LevelDB and Memory DB backends