diff --git a/prizes/LP-0018.md b/prizes/LP-0018.md index b8a4e5e..de768b9 100644 --- a/prizes/LP-0018.md +++ b/prizes/LP-0018.md @@ -1,3 +1,5 @@ + + --- dependencies: [] --- @@ -38,12 +40,17 @@ This prize complements existing Logos sample apps (notably [LP-0017](LP-0017.md) - [ ] **Bulk host**: allow selecting multiple regions to host at once, with opt-out per region. - [ ] **Local import**: user provides a local PBF → verify checksum → store → register. - [ ] **Update check**: compare central versions vs registry and notify the user of available updates. +- [ ] **On-chain registry**: the submitter chooses the anchoring approach — either (a) a LEZ program or (b) a direct submission to the consensus layer via the Zone SDK — and provides a brief justification for the choice. Note that decentralised sequencers for zones are not yet shipped: the Zone SDK approach requires a single designated actor to perform consensus inscription, which affects the trust model. The registry must: + - store per-region entries with at minimum: `region`, `cid`, `source_url`, `checksum`, `version`, `hosted`, and `timestamp` (see [Appendix A.2](#a2-registry-schema-zone-sdk-inscription)), + - be queryable by region and by CID, + - support registering multiple regions in a single batch transaction when bulk hosting. - [ ] **OSM registry module**: extract registry interaction logic into a self-contained module with a documented API, reusable by other Logos apps without depending on the Basecamp app itself. ### Usability - [ ] Provide a Logos Basecamp app GUI with local build instructions, downloadable assets, and loadable in Logos app (Basecamp). -- [ ] Provide the OSM registry module as a library/SDK with a README covering its API and integration steps. +- [ ] Provide a module/SDK that can be used to build Logos modules for interacting with the OSM registry. +- [ ] Provide an IDL for the LEZ program (if the LEZ program approach is chosen), using the [SPEL framework](https://github.com/logos-co/spel). - [ ] Clear UX: show hosted/not-hosted status, version numbers, and verification results. ### Reliability @@ -56,15 +63,16 @@ This prize complements existing Logos sample apps (notably [LP-0017](LP-0017.md) - [ ] Document a sample file size (e.g., Berlin ~93 MB) and measured download/verify times. - [ ] Document time to verify checksum (fetching `.md5` file only, not full download). +- [ ] Document and measure the compute unit (CU) cost of a single-region registration and a multi-region batch registration on LEZ devnet/testnet (if the LEZ program approach is chosen). Note: LEZ's per-transaction compute budget may change during testnet. ### Supportability -- [ ] The system is deployed and functional on Logos testnet/development environment. -- [ ] End-to-end integration tests covering host → verify → query → download are included in CI. +- [ ] The on-chain registry is deployed and tested on LEZ devnet/testnet. +- [ ] End-to-end integration tests covering host → verify → query → download run against a LEZ sequencer in standalone mode (if the LEZ program approach is chosen) or against a local Logos environment with Storage and Blockchain modules connected, and are included in CI. - [ ] CI is green on the default branch. -- [ ] A README documents: build steps, usage instructions, region list, and troubleshooting. -- [ ] A reproducible demo script works against a local Logos environment. -- [ ] A recorded video demo of the end-to-end flow is included in the submission. +- [ ] A README covers: build steps, deployment or inscription configuration, running the Basecamp app, querying the registry, region list, and troubleshooting. +- [ ] A reproducible end-to-end demo script is provided and works against a real local sequencer with `RISC0_DEV_MODE=0` (LEZ program path) or a local Logos environment with Storage and Blockchain modules connected (Zone SDK path). +- [ ] A recorded video demo of the end-to-end flow is included in the submission; the recording must show terminal output to confirm the demo ran against the claimed environment. If the LEZ program approach is chosen, the recording must also show proof-generation output to confirm `RISC0_DEV_MODE=0` was active. ## Scope @@ -74,9 +82,12 @@ This prize complements existing Logos sample apps (notably [LP-0017](LP-0017.md) - Host workflow (fetch + store + register). - Download from Logos Storage or Geofabrik central source. - Verification against Geofabrik checksums. -- Zone SDK on-chain registry. +- On-chain OSM registry: LEZ program or Zone SDK (submitter chooses and justifies). - Basecamp UI with bulk host/download. - OSM registry module extracted from the app, with documented API. +- Integration tests and CI. + +Geofabrik is the **canonical source of truth** for snapshot bytes and MD5 checksums. Hosted copies in Logos Storage are verified against Geofabrik; Geofabrik is not a runtime backend for the app beyond index lookup, checksum fetch, and direct-download fallback. ### Out of Scope @@ -84,6 +95,7 @@ This prize complements existing Logos sample apps (notably [LP-0017](LP-0017.md) - Real-time OSM synchronization (snapshots only). - Geocoding, routing, or navigation features. - Custom regions outside the predefined list (see [Appendix A.4](#a4-predefined-regions)). +- A hosted relay or backend service — registry, storage, and app logic run on the Logos stack; Geofabrik is used only as an external canonical snapshot source. ## Prize Structure @@ -99,14 +111,22 @@ Open to any individual or team. Submissions must be original work. Teams must ho ## Submission Requirements - Public repository (MIT or Apache-2.0) containing: - - Basecamp app source with build instructions, - - OSM registry module/SDK with API documentation, + - the OSM Basecamp app, + - the OSM registry module with API documentation, + - the on-chain registry program or Zone SDK integration, - integration tests runnable in CI. +- Deployed registry on LEZ devnet/testnet with documented program address or Zone SDK inscription configuration. - README with: build steps, region list, workflow, and troubleshooting. - A narrated video walkthrough in which the builder explains what they built and why, walks through the architecture and key implementation decisions, and demonstrates (see [demo requirements](../README.md#evaluation-policies)): + - end-to-end setup and deployment (or local environment configuration), - hosting a region (fetch from Geofabrik → store → register), - verifying checksum from the app, - - downloading and verifying a hosted region. + - downloading and verifying a hosted region, + - integration with the Logos stack (Logos Storage and on-chain registry), + - error handling for checksum mismatch and transient storage failures. + A silent screencast without explanation is not sufficient. +- Compute unit benchmarks for single and batch registry operations (if the LEZ program approach is chosen). +- GitHub issues filed for any problems encountered with Logos technology. - Submissions must include a FURPS self-assessment as part of the solution (see [solution template](../solutions/LP-0000.md)). ## Evaluation Process @@ -127,7 +147,10 @@ The following policies apply to all prizes (see [evaluation policies](../README. - [Geofabrik Checksum Example](https://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf.md5) - [Logos Basecamp](https://github.com/logos-co/logos-basecamp) - [Logos Storage Module](https://logos-storage-docs.netlify.app/tutorials/storage-module/) +- [LEZ GitHub repository](https://github.com/logos-blockchain/logos-execution-zone) +- [SPEL framework](https://github.com/logos-co/spel) - [LP-0017](LP-0017.md) — Whistleblower (reference implementation for storage + registry patterns) +- [LP-0008](LP-0008.md) — Autonomous AI Module (reference for Logos Core module architecture and storage patterns) ## Potential for Subsequent λPrizes @@ -152,12 +175,14 @@ The items below mirror the main-body success criteria and scope. A submission mu - [ ] Bulk host with per-region opt-out. - [ ] Local PBF import with checksum verification before store and register. - [ ] Update check comparing Geofabrik central versions against on-chain registry entries. +- [ ] On-chain registry (LEZ program or Zone SDK): stores schema fields from [A.2](#a2-registry-schema-zone-sdk-inscription); queryable by region and CID; supports batch registration; submitter documents approach and trust model. - [ ] Standalone OSM registry module/SDK with documented API. **Usability** - [ ] Logos Basecamp app with build instructions and loadable assets. -- [ ] Registry module README with API and integration steps. +- [ ] Module/SDK for building Logos modules that interact with the OSM registry. +- [ ] IDL for LEZ program if that approach is chosen (SPEL). - [ ] UI shows hosted/not-hosted status, versions, and verification outcomes. **Reliability** @@ -170,20 +195,28 @@ The items below mirror the main-body success criteria and scope. A submission mu - [ ] Documented sample size and measured download/verify times (e.g., Berlin ~93 MB). - [ ] Documented checksum-only verification time (`.md5` fetch, no full PBF download). +- [ ] CU benchmarks for single and batch registry operations (LEZ program path). **Supportability** -- [ ] Deployed and working on Logos testnet/development environment. +- [ ] Registry deployed and tested on LEZ devnet/testnet. - [ ] CI green; integration tests cover host → verify → query → download. -- [ ] README, reproducible demo script, and recorded end-to-end video demo. +- [ ] README with deployment/inscription config, app usage, registry queries, region list, troubleshooting. +- [ ] Reproducible demo script (LEZ sequencer with `RISC0_DEV_MODE=0` or local Logos environment with Storage + Blockchain modules). +- [ ] Narrated video demo with terminal output; RISC0 proof output if LEZ program path. + +**Submission (technical)** + +- [ ] Public MIT/Apache-2.0 repo with app, module, registry integration, and CI tests. +- [ ] FURPS self-assessment; GitHub issues for Logos technology problems filed where applicable. **In scope (technical)** -- Geofabrik index integration; PBF storage in Logos Storage; Zone SDK registry; Basecamp UI for bulk host/download; extracted registry module. +- Geofabrik index integration; PBF storage in Logos Storage; LEZ program or Zone SDK registry; Basecamp UI for bulk host/download; extracted registry module; Geofabrik as canonical checksum source only. **Out of scope (technical)** -- Tile servers, map rendering, live OSM sync, geocoding/routing/navigation, custom regions outside [A.4](#a4-predefined-regions). +- Tile servers, map rendering, live OSM sync, geocoding/routing/navigation, custom regions outside [A.4](#a4-predefined-regions), hosted relay/backend beyond Logos stack + Geofabrik canonical source. ### A.1 Architecture