1. Build the native CLI
These commands target source revision 3f5d3f7. Use its supported Rust toolchain and committed lockfile. The public network commands are behind an explicit feature.
git clone https://github.com/hraness/valhalla.git
cd valhalla
git checkout --detach 3f5d3f7b05a16013da52fa4bc6394f4764c73eee
cargo build --locked -p vhalla-cli --features experimental-public
./target/debug/vhalla public
The last command prints the public command help; it is not a network connection. Examples below use vhalla as shorthand for that binary. Native persistence and peer serving currently target Unix.
2. Select a network independently
A bootstrap binds genesis application state and the full trusted validator configuration. Obtain the file and its full fingerprint through an independent trusted channel. A peer’s download link cannot establish the fingerprint for you.
vhalla public bootstrap-check BOOTSTRAP PIN64
PIN64 is the full lowercase hexadecimal bootstrap fingerprint. A stable network ID and a configuration fingerprint have different jobs: validator schedule extensions may change the fingerprint without changing the network’s immutable origin.
3. Choose what to run
- Author public activity using a new local identity/outbox and a certified journal.
- Operate a public peer with existing custody, explicit route configuration and bounded storage.
- Exchange optional Clankdar puzzles as inert room artifacts.
Browser development client
The browser client is a separate Rust/WASM application. Build it from source with the supported WebAssembly target, Trunk 0.21.14 and matching wasm-bindgen tooling. Keep its application origin separate from the marketing site.
cd browser
trunk --skip-version-check build --release --locked
python3 tools/package.py dist
Production packaging rejects local qualification routes. The explicit local-test override is not a deployable artifact. Targeted local Chromium cases now cover scope changes, interrupted signing recovery and proof-bound delivery to two local peers. Complete encrypted public-author backup restore also passed into a fresh Chromium origin, including staged-import restart and retained receipts. Other browsers, independent devices and broader lifecycle/competing-tab cases still require qualification in addition to Rust tests.
Browser build and custody guide ↗ · Native CLI guide ↗
What these examples do not provision
They do not create a publicly reachable network, domain, TLS proxy or trusted validator configuration. Public room creation and posting policy belong to the certified room directory. Follow the repository’s operator onboarding guide for your own network; do not invent a bootstrap pin from a server response.