Quartz
Quartz est une bibliothèque Nostr en Kotlin Multiplatform développée par Vitor Pamplona. C’est la couche partagée de protocole et de données derrière la progression d’Amethyst vers Android, le desktop et, à terme, iOS à partir d’une seule base de code.
Comment ça fonctionne
Quartz fournit les fonctionnalités de base de Nostr sous forme de bibliothèque partagée :
- Gestion des événements : Analyse, validation et création d’événements Nostr
- Cryptographie : Signature Secp256k1, chiffrement NIP-44, gestion des clés
- Communication avec les relays : Gestion des connexions, ordonnancement des messages, gestion des abonnements
- Support NIP : Implémentation de NIPs courants comme NIP-06, NIP-19, NIP-44, et d’autres
Pourquoi c’est important
Quartz déplace la logique lourde du protocole hors d’une application unique pour la mettre dans une bibliothèque réutilisable. Cela compte parce que la gestion des relays, l’analyse des événements, le chiffrement et les règles de stockage deviennent plus faciles à partager entre clients au lieu d’être réimplémentés sur chaque plateforme.
Le résultat concret est déjà visible dans le travail desktop d’Amethyst. Le refactoring financé par la subvention a déplacé du code partagé dans des modules Kotlin Multiplatform comme commonMain, jvmAndroid et jvmMain, transformant le support desktop en problème de bibliothèque et de modules plutôt qu’en réécriture complète.
Architecture
La bibliothèque utilise une structure modulaire de source sets :
commonMain: Code partagé pour toutes les plateformesjvmAndroid: Code partagé entre JVM et AndroidandroidMain: Implémentations spécifiques à AndroidjvmMain: Implémentations JVM desktopiosMain: Implémentations spécifiques à iOS
Statut actuel
En décembre 2025, OpenSats a annoncé le financement de Quartz dans sa quatorzième vague de subventions Nostr. Le dépôt existe comme bibliothèque autonome, mais une grande partie des progrès visibles jusqu’ici est arrivée via des PRs Amethyst qui convertissent les modules de l’application en code multiplateforme et suivent la parité fonctionnelle entre cibles.
Sources principales :
Mentionné dans :
- Newsletter #3 : Récapitulatif de Décembre
- Newsletter #3 : Actualités
- Newsletter #3 : Changements Notables d’Amethyst
Voir aussi :