Skip to content

Solution: LP-0017 — Whistleblower#58

Closed
Tranquil-Flow wants to merge 2 commits into
logos-co:masterfrom
Tranquil-Flow:solution/lp-0017-tranquil-flow
Closed

Solution: LP-0017 — Whistleblower#58
Tranquil-Flow wants to merge 2 commits into
logos-co:masterfrom
Tranquil-Flow:solution/lp-0017-tranquil-flow

Conversation

@Tranquil-Flow
Copy link
Copy Markdown

Implementation of LP-0017: censorship-resistant document upload + indexing on the Logos stack.

Repository: https://github.com/Tranquil-Flow/lp-0017-whistleblower (public, MIT + Apache-2.0)

Narrated demo video: https://youtu.be/lMu25io5K-k

What's implemented:

  • Logos Basecamp app (ui/) — Qt6/QML plugin packaged as dist/whistleblower-plugin.lgx. Upload → Logos Storage; broadcast (CID, metadata) envelope → Logos Delivery; optional on-chain anchor via FFI to the LEZ registry.
  • Reusable indexing module (document-indexing crate) — Qt-free Rust core with three dyn-safe trait boundaries (StorageClient / DeliveryClient / RegistryClient). Real LEZ adapter + mock adapter for tests.
  • Permissionless batch CLI (batch/whistleblower-batch) — anyone with a wallet can subscribe to the Delivery topic, dedupe via a sled-backed ledger, and batch-anchor accumulated CIDs idempotently.
  • LEZ registry program (methods/guest/) — PDA-per-CID layout. Anchor cost O(1) regardless of registry size, unbounded capacity, idempotency-by-default-state-check.

On-chain evidence (RISC0_DEV_MODE=0, real local sequencer = LEZ devnet per Logos Discord 2026-05-11):

  • 50-CID batch confirmed in a single transaction (lez_adapter_anchor_50_cids_in_one_tx) — 5x the spec's ≥10-per-batch requirement.
  • FFI anchor path verified through the C ABI (anchor_one_via_ffi_against_live_sequencer + idempotent variant) — exactly the path the QML "Anchor" button drives.
  • Real Basecamp instance verified 2026-05-09 (lgs basecamp launch alice): plugin loaded, storage upload returned a manifest CID, delivery broadcast sent the JSON envelope.
  • CU benchmarks: 50-CID batch ~120ms zkVM executor time (~2.5ms/CID amortized), single-CID ~6-12ms. Captured in BENCHMARKS.md.

CI: .github/workflows/ci.yml runs the full workspace including the risc0 zkVM guest, FFI, LEZ adapter, and ignored live-LEZ tests against a localnet sequencer.

See solutions/LP-0017.md for the full spec compliance map and architecture notes.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 20, 2026

✅ Validation passed

A reviewer will assess against the prize criteria.
ℹ️ Solution submission for LP-0017.
ℹ️ Checking repo: https://github.com/Tranquil-Flow/lp-0017-whistleblower


Automated check. See solution template and TERMS.

@weboko
Copy link
Copy Markdown
Collaborator

weboko commented Jun 2, 2026

Hi @Tranquil-Flow ,

Appreciate this submission from you too. This are my findings after looking into it.

  • Can you, please, actually deploy the registry to a public LEZ testnet and document a resolvable program address + tx hashes?
  • Add the upload→broadcast→batch-anchor e2e (against a real sequencer) into CI that runs on push, not a workflow_dispatch stub that exit 1s.
  • Make demo.sh actually run the end-to-end flow from a clean clone without manual on-camera steps and without --mock-delivery.
  • capture benchmarks on testnet (not localnet), in real (non-dev) mode.
    And: ship the .lgx asset; generate the IDL via SPEL; provide real Apache-2.0 text license.

Rejecting this submission. Please, fix above and come back :)

@weboko weboko closed this Jun 2, 2026
@Tranquil-Flow
Copy link
Copy Markdown
Author

@weboko I'm a little confused, I asked in Discord about the testnet but was told that meant localnet?
https://discord.com/channels/973324189794697286/1502439487819747399/1503257172828487690

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