Architecture
Architecture Overview
Learn about the high-level architecture of Fermah Core and how its components work together.
System Components
The Fermah Core architecture consists of several key components:
- Seeker: Client component that submits workflows to the system
- Fermah Core:
- Fermah Runtime: Main processing engine
- Fermah Database: Data storage layer
- Workflow Jail: Workflow execution environment
- Smart Contracts: Deployed on Ethereum blockchain for whitelist management and payments
- Prover Nodes: Distributed nodes for proof generation
- Multiple prover instances
- Each prover contains multiple server binaries
- Handles delegated tasks from Fermah Core
Component Interaction
The system follows this interaction flow:
Workflow Upload: A user uploads a workflow to the system via the Seeker.
Smart Contract Verification:
- Fermah Core verifies workflow submission against Smart Contracts
- Checks whitelist status and handles payment processing
- Ensures compliance with blockchain-based rules
Workflow Execution: The Fermah Runtime receives the workflow and coordinates its execution.
- It interacts with the Fermah Database to store and retrieve workflow data
- It sends tasks to the Workflow Jail for secure execution
- It delegates proof generation tasks to Prover Nodes
Proof Generation:
- Multiple Prover instances process delegated tasks
- Each Prover utilizes multiple binaries
- Results are returned to Fermah Core
Workflow Execution Flow
The system handles workflow execution through the following steps:
Workflow Upload
- Users upload workflows through the Seeker interface
- The Seeker validates and forwards the workflow to Fermah Core
- Smart Contracts verify whitelist status and process payments
Workflow Processing
- Fermah Runtime receives and processes the workflow
- Coordinates with Fermah Database for state management
- Delegates execution tasks to the Workflow Jail
- Distributes proof generation tasks to Prover Nodes
State Management
- Fermah Database maintains workflow state
- Enables workflow resumption and monitoring
- Tracks execution progress and history
- Records blockchain transaction status
Task Execution
- Workflow Jail provides isolated execution environment
- Prover Nodes handle distributed proof generation
- Multiple server binaries process proofs in parallel
- Runtime coordinates all component interactions