For Engineers
Ship faster.
Own the stack.
Q-OS is a Rust-first edge runtime with a dead-simple WASM SDK, a live WebSocket telemetry stream, and a RESTful API you can hit with curl. No proprietary SDK lock-in. No vendor fees.
🦀 Rust⚡ WASM🌐 libp2p💾 Sled DB📡 Gossipsub🔑 Ed25519
01. Install in 60 seconds
root@qos-edge-01:~
$
curl -sL https://q-os.io/install | bash›
[OK] Binary installed to /usr/local/bin/qos. Ed25519 keypair generated.$
qos start›
[MESH] mDNS Discovery Active. Found 2 Peers on local subnet.$
qos module deploy ./my_module.qos --name heartbeat-agent›
[WASM] Module signed & registered. Invoke at /api/v1/invoke/heartbeat-agent$
02. REST API Reference
GET
/api/v1/state/dumpPOST
/api/v1/state/edit🔒 AuthPOST
/api/v1/invoke/:module🔒 AuthPOST
/api/v1/broadcast🔒 AuthGET
/api/v1/streamGET
/api/v1/healthAuth: pass x-qos-api-key: <your-key> header on protected routes.
03. Write a WASM Module
Any language that compiles to WASM is supported. The host exposes a minimal ABI via host::state_get, host::state_set, and host::log. Rust, Go, Zig — your choice.
use qos_sdk::{state, gossip, input, output};
#[no_mangle]
pub extern "C" fn run() {
let raw = input::read();
let count: u64 = state::get("visits")
.and_then(|b| String::from_utf8(b).ok())
.and_then(|s| s.parse().ok())
.unwrap_or(0) + 1;
state::set("visits", count.to_string().as_bytes());
gossip::publish("metrics", &count.to_le_bytes());
output::write(
serde_json::json!({ "ok": true, "visits": count })
.to_string().as_bytes()
);
}