Prerequisites
| Piece | Requirement |
|---|---|
| Rust toolchain | cargo build --release for the node |
| Ollama | running locally with at least one model pulled |
| A Sui testnet address | recommended — this is where your testnet settlement payouts land |
Step 1 — confirm the coordinator is live
enclave_object_id means this coordinator instance has already
registered its attested key on Sui — you can look that object up on-chain
and compare its PCRs against what /get_attestation reports below.
Step 2 — get the coordinator’s current peer_id
Step 3 — build the node
Step 4 — run your node against the testnet coordinator
--payout-address with a Sui testnet address you control — this is
how the network pays you for the requests your node serves. Without it,
your node still bids and serves requests, but there’s nowhere for
settlement to send your share.
INSECURE_COORDINATOR=1 tells the node to accept the coordinator’s
self-signed TLS certificate (the cert is bound to the enclave’s attested
key, not a public CA — that’s expected for testnet).
Watch the logs for connection established peer=<coordinator_peer_id> to
confirm the mesh handshake succeeded.
Step 5 — confirm requests are landing on your node
Send a test request through the coordinator the same way any client would. Inference is dispatched to the winning node over libp2p directly — the coordinator waits for the node’s signed completion and returns the final answer in one response, so there’s no separate request to your node’s HTTP port:Running multiple local LLMs
Nothing stops you from joining the mesh with more than one backend at once. Each node instance is just a separate process with its own listen port and its own model — run as many as you have local capacity for:--identity-file (defaults to
~/.pinaivu-node/identity.key, so give each one a distinct path) and bids
independently. The coordinator’s auction doesn’t know or care that both
are running on the same host — from its side they’re just two more peers
in the mesh, each capable of winning different requests based on price,
latency, and reputation. This is the simplest way to add capacity to the
network without provisioning a second machine.