Skip to content

WALM-184: Replace Node sidecar with native Rust Walrus + SEAL (foundation)#375

Draft
harrymove-ctrl wants to merge 1 commit into
devfrom
feat/replace-sidecar
Draft

WALM-184: Replace Node sidecar with native Rust Walrus + SEAL (foundation)#375
harrymove-ctrl wants to merge 1 commit into
devfrom
feat/replace-sidecar

Conversation

@harrymove-ctrl

Copy link
Copy Markdown
Collaborator

Summary

Split out of feat/rust-migration-sdk (PR #367) so this doesn't keep growing alongside the Rust SDK client work — same commits, own branch.

  • Native Sui transaction building/signing, Walrus blob discovery, RedStuff encoding, reserve_space/register_blob PTB construction, Upload Relay HTTP client
  • store_blob_and_finalize: full native write path (register+certify+metadata-stamp+transfer-to-owner), gated behind WALRUS_NATIVE_WRITE (default off)
  • WAL coin selection via sui-rpc's official select_coins
  • SIDECAR_DISABLED escape hatch in main.rs

Not done yet

  • SEAL: still 100% via the TS sidecar — no viable Rust SEAL crate exists (the only community one, gfusee/seal-sdk-rs, doesn't build). Native SEAL means hand-rolling threshold-encryption crypto — needs an explicit decision before starting.
  • Enoki: untouched, still proxies to sidecar. Has a documented REST API (api.enoki.mystenlabs.com/v1), should be straightforward (no custom crypto) — not started.
  • Sidecar can't actually be disabled yet — SEAL + Enoki both still need it.

Test plan

  • cargo build --all-targets / cargo test / cargo clippy --all-targets all clean (309/309 relevant tests pass; 5 pre-existing DB-auth failures are environmental, unrelated)
  • Live supervised testnet write with WALRUS_NATIVE_WRITE=true — not run yet (network-restricted sandbox couldn't reach Sui testnet to verify)

…oundation

Squashed from feat/rust-migration-sdk (WALM-184 commits, split into its
own branch/PR so it doesn't keep growing alongside the Rust SDK work):

- native Sui transaction building/signing (sui_tx.rs)
- Walrus blob discovery off the sidecar (walrus.rs)
- RedStuff blob encoding wired natively (walrus_encode.rs)
- reserve_space + register_blob PTB construction (walrus_tx.rs)
- live n_shards/committee_size + initial_shared_version reads
- Upload Relay HTTP client (walrus_upload_relay.rs)
- store_blob: complete native Walrus write-path entry point (walrus_write.rs)
- WAL coin selection (sui-rpc's official select_coins) + metadata-stamp +
  transfer-to-owner (1:1 port of blob-metadata.ts), gated behind
  WALRUS_NATIVE_WRITE (default off) and wired into engine::store_blob
- SIDECAR_DISABLED escape hatch in main.rs (still requires the sidecar
  today — SEAL and Enoki aren't natively migrated yet)

SEAL and Enoki still go through the TS sidecar — no viable Rust SEAL
crate exists yet, and Enoki hasn't been started. Native Walrus write is
opt-in only (WALRUS_NATIVE_WRITE=true) and untested against real
testnet funds in this environment (network-restricted sandbox) — needs
a live supervised test before enabling anywhere real.
harrymove-ctrl pushed a commit that referenced this pull request Jul 9, 2026
services/server (native Walrus/SEAL sidecar-replacement work) now
lives on its own branch/PR (feat/replace-sidecar, PR #375) so it
doesn't keep growing alongside the Rust SDK client. Restores
services/server to match dev exactly — this branch is now scoped to
packages/rust-sdk only.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants