Quartz
Quartz è una libreria Kotlin Multiplatform per Nostr sviluppata da Vitor Pamplona. Originariamente estratta dal client Android Amethyst, Quartz fornisce implementazioni riutilizzabili del protocollo Nostr per piattaforme JVM, Android, iOS e Linux.
Come Funziona
Quartz fornisce funzionalità core di Nostr come libreria condivisa:
- Gestione Eventi: Parsing, validazione e creazione di eventi Nostr
- Crittografia: Firma Secp256k1, crittografia NIP-44, gestione delle chiavi
- Comunicazione con i Relay: Gestione delle connessioni, ordinamento dei messaggi, gestione delle sottoscrizioni
- Supporto NIP: Implementazione di NIP comuni inclusi NIP-06, NIP-19, NIP-44 e altri
Caratteristiche Principali
- Kotlin Multiplatform: Un’unica base di codice compila per più target
- Piattaforme Target: Android, JVM, iOS (ARM64, Simulatore), Linux
- Ottimizzato per le Prestazioni: Elaborazione efficiente degli eventi e operazioni crittografiche
- Integrazione Blossom: Supporto per upload di media tramite il protocollo Blossom
- OpenTimestamp: Port Kotlin completo per la verifica dei timestamp
Architettura
La libreria utilizza una struttura modulare di source set:
commonMain: Codice condiviso per tutte le piattaformejvmAndroid: Codice condiviso tra JVM e AndroidandroidMain: Implementazioni specifiche per AndroidjvmMain: Implementazioni JVM desktopiosMain: Implementazioni specifiche per iOS
Sovvenzione OpenSats
A dicembre 2025, OpenSats ha annunciato il finanziamento per Quartz come parte della sua quattordicesima ondata di sovvenzioni Nostr. La sovvenzione supporta lo sviluppo continuo per abilitare Amethyst su iOS attraverso lo stesso approccio Kotlin Multiplatform che già alimenta le versioni Android e desktop.
Fonti principali:
Menzionato in:
- Newsletter #3: Riepilogo di Dicembre
- Newsletter #3: Notizie
- Newsletter #3: Modifiche Rilevanti di Amethyst
Vedi anche: