Skip to main content
This is the tutorial to start with if you’re new to ObsidianLog. It uses the local backend, so there’s nothing to set up beyond downloading a binary. If it works here, you know the core pipeline (encrypt, compress, hash-chain, query, verify) is solid before you touch Sia at all. Takes about five minutes.

1. Get the binary

If you haven’t already, download and extract the release binary for your system. Installing a release binary in the Quickstart has the full walkthrough for macOS, Windows, and Linux. Not sure which file to grab in the first place? See the FAQ. The rest of this tutorial writes commands as ./obsidianlog (macOS/Linux). On Windows, that’s .\obsidianlog.exe instead.

2. Run init

You’ll be asked a handful of questions: storage bucket name, which backend (choose local), where to store data on disk, the ingest server’s bind address, and the chunk time window. The defaults are fine for testing, just press Enter through each one. On macOS, you should see at most one keychain authorization prompt during this step. That’s the main thing worth confirming here, so please note how many prompts you actually saw when you report back. Click Always Allow rather than just Allow, so later commands don’t ask again. When it finishes, you’ll see something like:

3. Start the server

This blocks and waits for log batches. Leave it running and open a new terminal for the rest of this tutorial.

4. Send it a test log

A successful ingest returns an empty 200 OK, so no output here is actually the expected result, not a sign anything’s wrong. If you want to double check, add -w "%{http_code}\n" to the curl command and look for 200.

5. Query it back

You should see the log line you just sent, decrypted and printed back to you.

6. Verify the chain

This walks the hash chain and confirms nothing archived has been tampered with. It should print OK for the tutorial service.

Tell us how it went

That’s the whole loop. Whether it went smoothly or you got stuck somewhere, we’d genuinely like to know. Please open a feedback report and if you happened to notice roughly how long init took, or how long it took between sending the log and being able to query it back, those numbers are useful too (there’s a spot for them in the form, no need to go back and measure on purpose).

What’s next

If this worked, try Testing the Sia Backend to see it archive to the real Sia network instead of your local disk, or Testing with Vector to see a real log shipper feed it instead of a single curl request. Once you’re done testing and want a real, ongoing setup rather than a scratch folder, see the Quickstart. When you finish the tutorial, return to the terminal running serve and press Ctrl-C to stop it.