Quartz est une bibliothèque Kotlin Multiplatform pour Nostr développée par Vitor Pamplona. Initialement extraite du client Android Amethyst, Quartz fournit des implémentations réutilisables du protocole Nostr pour les plateformes JVM, Android, iOS et Linux.

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 des NIPs courants incluant NIP-06, NIP-19, NIP-44, et plus

Fonctionnalités Clés

  • Kotlin Multiplatform : Une base de code unique compile vers plusieurs cibles
  • Plateformes Cibles : Android, JVM, iOS (ARM64, Simulateur), Linux
  • Optimisé pour la Performance : Traitement efficace des événements et opérations cryptographiques
  • Intégration Blossom : Support pour le téléversement de médias via le protocole Blossom
  • OpenTimestamp : Port Kotlin complet pour la vérification des horodatages

Architecture

La bibliothèque utilise une structure modulaire de source sets :

  • commonMain : Code partagé pour toutes les plateformes
  • jvmAndroid : Code partagé entre JVM et Android
  • androidMain : Implémentations spécifiques à Android
  • jvmMain : Implémentations JVM bureau
  • iosMain : Implémentations spécifiques à iOS

Subvention OpenSats

En décembre 2025, OpenSats a annoncé le financement de Quartz dans le cadre de sa quatorzième vague de subventions Nostr. La subvention soutient le développement continu pour permettre Amethyst sur iOS via la même approche Kotlin Multiplatform qui alimente déjà les versions Android et bureau.


Sources principales :

Mentionné dans :

Voir aussi :