Quartz is een Kotlin Multiplatform Nostr-bibliotheek, ontwikkeld door Vitor Pamplona. Het is de gedeelde protocol- en datalaag achter Amethysts beweging naar Android, desktop en uiteindelijk iOS vanuit één codebase.

Hoe het werkt

Quartz biedt Nostr-kernfunctionaliteit als een gedeelde bibliotheek:

  • Event-afhandeling: Parsing, validatie en creatie van Nostr-events
  • Cryptografie: Secp256k1-signing, NIP-44-encryptie, sleutelbeheer
  • Relay-communicatie: Verbindingsbeheer, berichtvolgorde, afhandeling van subscriptions
  • NIP-ondersteuning: Implementatie van gangbare NIPs, waaronder NIP-06, NIP-19, NIP-44 en meer

Waarom het belangrijk is

Quartz verplaatst protocolzware logica uit één app naar een herbruikbare bibliotheek. Dat is belangrijk omdat relay-afhandeling, event-parsing, encryptie en opslagregels dan eenvoudiger gedeeld kunnen worden tussen clients, in plaats van per platform opnieuw te worden gebouwd.

Het concrete resultaat was al zichtbaar in Amethysts desktopwerk. De door een subsidie ondersteunde refactor verplaatste gedeelde code naar Kotlin Multiplatform-modules zoals commonMain, jvmAndroid en jvmMain, waardoor desktopondersteuning een bibliotheek- en modulevraagstuk werd in plaats van een volledige herschrijving.

Architectuur

De bibliotheek gebruikt een modulaire source set-structuur:

  • commonMain: Gedeelde code voor alle platformen
  • jvmAndroid: Code gedeeld tussen JVM en Android
  • androidMain: Android-specifieke implementaties
  • jvmMain: Desktop JVM-implementaties
  • iosMain: iOS-specifieke implementaties

Huidige status

In december 2025 kondigde OpenSats financiering aan voor Quartz in zijn veertiende lichting Nostr-subsidies. De repo bestaat als een zelfstandige bibliotheek, maar veel van de zichtbare voortgang tot nu toe is terechtgekomen in Amethyst-PR’s die app-modules omzetten naar multiplatform-code en feature parity tussen targets volgen.


Primaire bronnen:

Genoemd in:

Zie ook: