Quick Start

Run Ursula locally, create a bucket, append data, and subscribe with SSE.

Start a local Ursula node first:

cargo run --bin ursula -- serve \
  --node-id 1 \
  --listen 127.0.0.1:4437 \
  --advertise 127.0.0.1:4437 \
  --data-dir ./data

Then use curl against the local HTTP API.

Create a bucket and a stream

curl -X PUT http://127.0.0.1:4437/demo
curl -X PUT http://127.0.0.1:4437/demo/hello

Append data

curl -X POST http://127.0.0.1:4437/demo/hello \
  -H 'Content-Type: application/octet-stream' \
  --data-binary 'first message'

curl -X POST http://127.0.0.1:4437/demo/hello \
  -H 'Content-Type: application/octet-stream' \
  --data-binary 'second message'

Read everything from the beginning

curl 'http://127.0.0.1:4437/demo/hello?offset=-1'

Subscribe for live updates

Open a second terminal and start an SSE subscription:

curl 'http://127.0.0.1:4437/demo/hello?offset=-1&live=sse'

Then go back to the first terminal and append more data. You'll see it arrive in the SSE stream instantly.

Read more