Getting Started
Prerequisites
The tooling you need before running or developing Nodus.
Nodus mixes three language ecosystems in one repository. You only need the toolchains for the parts you intend to run.
Required by task
| Tool | Version | Needed for |
|---|---|---|
| Node.js + pnpm | Node ≥ 20, pnpm 11 | Web client, TypeScript packages, docs |
| Rust | stable toolchain + cargo | Storage Node |
| Go | ≥ 1.22 | Relay |
| Docker | Compose v2 | Redis (and the deploy unit) for the Relay |
The repository pins exact toolchains where it matters: package.json sets
engines.node, rust-toolchain.toml pins the Rust channel, and
services/relay/go.mod sets the Go version.
Install the JavaScript workspace
From the repository root:
make install-hooks # gofmt/rustfmt/clippy pre-push hooks
pnpm install # apps/* and packages/*make install-hooks copies scripts/pre-push into .git/hooks/, which runs
gofmt checks, cargo fmt --check, and cargo clippy -D warnings before you
push.
Verify your setup
pnpm test # TypeScript, Go, and Rust test suitespnpm test requires Node/pnpm, Go, and Cargo all on your PATH. Relay tests
that need external services are skipped unless you provide
TEST_REDIS_URL (see Testing).
Next step
Ready? Continue to the Quickstart.