Executors
Introduction
Executors are the open-source, community-driven components that power the execution logic within the KRNL Protocol. They are the skilled workers who carry out tasks defined in your workflows, such as fetching data from a website, querying blockchain states, or running AI computations. Built for transparency and flexibility, executors are containerized, auditable, and deployed using reproducible builds, operating within the secure gVisor sandboxes of the KRNL Node.
Key Features
Open-Source and Community-Reviewed: Developed by the community with openly available source code for peer review to ensure correctness, interface compliance, and high code quality.
Containerized Execution: Packaged as container images (e.g., ghcr.io/krnl-labs/executor-http@sha256:...) for consistent deployment.
Task Versatility: Support HTTP requests, EVM calls, and AI inference, adaptable to use cases like DeFi or compliance.
Reproducible Builds: Identified by SHA256 hashes for verifiable integrity.
Core Responsibilities
Workflow Execution
Runs individual kernels (workflow steps) inside a gVisor-based sandbox.
Executes API calls, blockchain interactions, AI inference, or arbitrary computation.
Supports conditional branching, loops, and decision-making logic in workflows.
Isolation & Compliance
Every executor runs in a sandboxed environment to contain faults or malicious behavior.
Enforces deterministic builds and container digest verification to prevent supply chain attacks.
Standardized Interfaces
Implements a consistent interface so any executor can plug into the KRNL workflow engine.
Ensures outputs can be consumed by attestors and verified by smart contracts.
Community Contribution
Executors are open-source and undergo peer review, security audits, and reproducible build verification.
Multiple independent builders can produce identical binaries, ensuring no hidden changes.
How Executors Work
Invoked by the KRNL Node, executors execute workflow steps. Example DSL:
{
"name": "fetch-telemetry",
"type": "HTTP",
"image": "ghcr.io/krnl-labs/executor-http@sha256:07ef35b261014304a0163502a7f1dec5395c5cac1fc381dc1f79b052389ab0d5",
"inputs": {
"url": "https://api.example.com/telemetry",
"method": "GET"
},
"outputs": [
{
"name": "data",
"value": "response.body",
"export": true
}
]
}
The executor loads the image, performs the task, and exports results within a sandbox.
What's next?
AttestorLast updated