This repository now owns the local DB pipeline through Nix and a local raindex submodule instead of downloading a prebuilt CLI artifact.
lib/raindex: git submodule containing the upstream Rust CLI and pipeline sourceflake.nix: flake entrypoints for building the local CLI, syncing, and uploading
Bootstrap the repo and run the upstream raindex prep flow:
./prep.shBuild the local CLI artifact explicitly. This writes ./rain-orderbook-cli in the repository root:
nix run .#build-raindex-cliCopy .env.example to .env, then fill in the values you need.
Run the sync step:
nix run .#local-db-syncUpload an existing local-db directory without re-running sync:
nix run .#local-db-uploadCreate and upload an empty remote manifest:
nix run .#local-db-create-empty-manifestCreate and upload an empty remote manifest through GitHub Actions:
- Run
.github/workflows/create-empty-local-db-manifest.yaml - The workflow uploads
local-db-manifests/<epoch-ms>/manifest.yaml - It calls
nix run .#local-db-create-empty-manifest - It returns the public manifest URL in the workflow summary
The source still lives in the local submodule, and you can run it directly from there with:
nix develop -c cargo run --locked --manifest-path lib/raindex/Cargo.toml -p rain_orderbook_cli -- --help