Run hello-c in the browser
A minimal C program that prints one fixed line — the catalog's smoke test for the C toolchain path.
Try it live
Nothing is downloaded until you press Run.
Run a static C binary
Installs hello-c 1.0.0 from the signed catalog (every chunk is verified before it is written), then runs the commands below in the VM's shell.
hello-c
$ hello-c hello, nano
What it is
hello-c is built from a few lines of C with zig cc into a static RISC-V musl ELF. Its output is fixed, so its conformance golden does not depend on the build. It is the smallest app in the catalog and a quick way to check that installing and running a catalog app works end to end.
Package facts
- version
1.0.0- runs on
- RISC-V VM (
elf-app,riscv64gc-linux-musl) - download
- 3.8 kB compressed · 1 file
- command
hello-c- requires
- nothing else — a static binary
- license
AGPL-3.0-only OR LicenseRef-UEL(upstream)- upstream
- github.com/userland-run/catalog/tree/main/recipes/hello-c
- catalog
- generation 12, Ed25519-signed
Install and run it from your page
With the SDK, installApp resolves hello-c in the signed index, fetches its content-addressed chunks from the CDN, verifies each one and writes the files into the VM. Details in Installing catalog apps.
import { createNano } from "@userland-run/nano-sdk";
const nano = await createNano({ image: { wasm: "/nano/console.wasm" }, ramMB: 512 });
await nano.installApp("hello-c"); // signature-verified, cached in OPFS
const r = await nano.shExec("hello-c");
console.log(r.stdout);Typical usage of the upstream command-line tool:
hello-c