Nostr Compass #21
Bienvenido de nuevo a Nostr Compass, tu guía semanal de Nostr.
Esta semana: Marmot Protocol lanza MDK 0.8.0 con las primeras primitivas de notificación MIP-05, paquetes de claves NIP-51 (Listas) direccionables y una revisión de seguridad mejorada. LaWallet NWC lanza v0.10.0 como el mayor lanzamiento desde la financiación de OpenSats. Amethyst realiza un sprint de estabilidad de Nests. ngit lanza v2.4.2 y v2.4.3. GRAIN lanza v0.5.4. Mostro Core lanza v0.10.1. Clave lanza v0.2.0.
Historias principales
MDK 0.8.0 añade primitivas de notificación MIP-05 y paquetes de claves direccionables
MDK, la biblioteca principal en Rust para el protocolo Marmot, lanzó v0.8.0 el 4 de mayo. Esta versión incluye los primeros bloques de construcción de notificaciones MIP-05, mueve los paquetes de claves MIP-00 a eventos direccionables para que el paquete de claves de un usuario pueda reemplazarse en su lugar, mejora la compatibilidad de grupo de versiones mixtas, amplía la cobertura UniFFI para bindings móviles y refuerza las rutas de validación. Las primitivas MIP-05 incluyen auxiliares de índice de hoja añadidos en PR #235, que dan a los clientes posteriores suficiente información para entregar notificaciones push por destinatario sin exponer la estructura del grupo. PR #273 restaura la publicación de mdk-core en crates.io, y PR #269 expone el módulo test_util detrás de una característica Cargo test-utils.
LaWallet NWC v0.10.0 lanza el monorepo completo y Wallet para usuarios finales
LaWallet NWC, la implementación NIP-47 Nostr Wallet Connect del equipo de LaWallet, lanzó v0.10.0 el 30 de abril. Es el mayor lanzamiento desde que el proyecto recibió financiación de OpenSats. Incluye el monorepo completo, el panel de administración completo, una Wallet para usuarios finales, un registro de actividad completo, branding dinámico y el nuevo esquema LightningAddress 1→N y NWCConnection que desbloquea el enrutamiento NWC por dirección. La Wallet para el usuario lanzada en PR #191 cubre incorporación, inicio, envío/recepción, escaneo, monedas, un feed de actividad y una caché sin conexión.
Amethyst estabiliza Nests con keep-alive, resiliencia JWT y suscripciones de ciclo de vida
Amethyst, el cliente Android con muchas funciones, continuó el trabajo de sala de audio NIP-53 Nests cubierto en el boletín #20 con un sprint de estabilidad. La corrección de brecha de audio en PR #2733 superpone la nueva adquisición de credenciales con el flujo activo durante el refresco JWT, para que el oyente no escuche un corte cuando rota el token. Un nuevo mecanismo keep-alive en PR #2730 reconecta relays desconectados sin requerir acción manual del usuario, y PR #2728 reemplaza el KeyDataSourceSubscription heredado con LifecycleAwareKeyDataSourceSubscription. PR #2724 añade un indicador de anillo exterior animado que resalta al participante que habla en sesiones con múltiples hablantes.
ngit v2.4.2 y v2.4.3 corrigen detección del servidor GRASP y eventos de estado multi-remoto
ngit, la herramienta de línea de comandos y plugin git para la colaboración NIP-34, lanzó v2.4.2 el 28 de abril y v2.4.3 el 1 de mayo. v2.4.2 corrige un desajuste de normalización de URL donde repo_grasps mantenía nombres de host normalizados pero la comparación se hacía contra URLs de clonación completas. v2.4.3 corrige una ambigüedad de evento de estado que surgía cuando un repositorio tiene múltiples remotos nostr:// compartiendo el mismo identificador.
GRAIN v0.5.4 trae endurecimiento de producción y una corrección silenciosa de pérdida de datos
GRAIN, la biblioteca relay y cliente Nostr basada en Go, lanzó v0.5.4 el 30 de abril. La versión acumula seis correcciones desde v0.5.3, incluyendo un bug silencioso de pérdida de datos en el inicio rápido de Docker que anteriormente descartaba eventos cuando el contenedor se reiniciaba, y un bug de corrección de la capa de almacenamiento en lecturas de eventos direccionables.
Mostro Core v0.10.1 añade artefactos de lanzamiento firmados con PGP
Mostro Core, la biblioteca Rust que proporciona funcionalidad peer-to-peer para el daemon Mostro, lanzó v0.10.1 el 28 de abril como seguimiento del módulo de protocolo de chat P2P v0.10.0 de la semana pasada. La nueva versión añade artefactos de lanzamiento firmados con PGP y un flujo verify-release.
Lanzamientos etiquetados
Clave v0.2.0 lanza multi-cuenta en iOS con firma NIP-46 (Nostr Connect)
Clave, la app de firma remota NIP-46 para iOS cubierta en #20, lanzó v0.2.0 el 5 de mayo. La mayor actualización hasta ahora introduce soporte multi-cuenta: Clave ahora puede albergar hasta cuatro cuentas en un dispositivo, con un selector de un toque y aislamiento por cuenta.
Wisp lanza trabajo de estabilidad v1.0.3 → v1.0.5
Wisp, el cliente Android que se graduó de beta en #20, lanzó v1.0.3, v1.0.4 y v1.0.5 el 4 de mayo con trabajo de estabilidad.
Amber 6.1.0-pre1 lanza correcciones de diseño y estabilidad
Amber, la app firmadora Android para NIP-55 (Aplicación firmadora Android) y NIP-46, lanzó v6.1.0-pre1 con un pase de diseño en el flujo de conexión de nueva app y varias correcciones de fallos reportados.
Routstr Core v0.4.3 mejora el manejo de pagos, reembolsos y reportes de uso
Routstr Core, la capa de inferencia descentralizada, lanzó v0.4.3 como pre-lanzamiento el 1 de mayo.
Nostria v3.1.37 a v3.1.41 añaden Marcadores Web y un tema Auto
Nostria, el cliente Nostr multiplataforma, lanzó v3.1.37 a v3.1.41 el 30 de abril y el 4 de mayo. Las versiones añaden soporte NIP-B0 (Marcadores Web), un tema “Auto” que sigue la configuración del dispositivo y visualización de PDF en la app.
Cambios no publicados
Sprout lanza Desktop v0.0.4 y v0.0.5 junto con autenticación de agente NIP-OA y el sidecar relay de emparejamiento
Sprout, el cliente Nostr de Block con relay integrado, lanzó Sprout Desktop v0.0.4 el 5 de mayo y v0.0.5 el 6 de mayo, junto con aproximadamente 80 PRs fusionados. El cambio principal en PR #471 conecta la autenticación de agente NIP-OA al flujo de membresía NIP-43 del relay. Un nuevo relay sidecar efímero para emparejamiento de dispositivos NIP-AB llega en PR #467 como sprout-pair-relay.
nostream añade soporte de relay Marmot y reacciones NIP-25
nostream, la implementación de relay Node.js, fusionó una semana productiva de adiciones de protocolo. El soporte de relay Marmot Protocol que cubre los MIPs 00 al 03 llega en PR #602. Las adiciones de protocolo menores: soporte de reacciones NIP-25 en PR #589.
strfry añade observabilidad por conexión y reduce el límite nofiles
strfry, el relay Nostr en C++, fusionó 14 PRs orientados a la observabilidad e higiene operativa. El cambio principal es PR #218, que añade observabilidad de salida pendiente por conexión y un límite de contrapresión configurable.
Damus reemplaza los GIFs de Tenor con un proxy Purple y lanza UX de compactación
Damus, el cliente iOS de Nostr, fusionó PR #3737 reemplazando la integración de GIFs Tenor con un proxy Damus Purple.
routstrd-auth: un Routstrd dockerizado para equipos con auth NIP-98 y RBAC por npub
routstrd-auth, creado el 27 de abril por el equipo de Routstr, es una variante dockerizada de Routstrd para implementaciones en equipos multiusuario. El cambio principal es un sistema granular de control de acceso basado en roles por npub con roles admin y user, y endpoints de cliente que adoptan autenticación HTTP NIP-98.
Routstrd integra Hermes para clientes daemon y modo remoto
Routstrd, el daemon local que orquesta clientes de inferencia Routstr, fusionó PR #22 añadiendo integración con Hermes Agent.
whitenoise-rs lanza aislamiento de base de datos por cuenta y actualizaciones de propuestas
whitenoise-rs, la biblioteca Rust principal para el mensajero White Noise, fusionó PR #796 moviendo tablas de proyección de mensajes a bases de datos por cuenta, y PR #791 añadiendo actualizaciones de propuestas para que los grupos puedan extender su funcionalidad.
Angor 0.2.21 lanza flujos de app compactos junto con endurecimiento del proveedor de claves y cambio de red
Angor, la plataforma de crowdfunding Bitcoin con perfiles de fundadores publicados en Nostr, lanzó Angor 0.2.21 el 6 de mayo.
Recién rastreados y descubiertos
BitMacro Signer: un bunker NIP-46 autoalojable con cifrado de claves del lado del cliente
BitMacro Signer es una herramienta de firma Nostr autoalojable que gestiona claves privadas usando el modelo de bunker NIP-46. El firmador cifra las claves en el cliente antes del almacenamiento para que el lado del servidor nunca tenga texto en claro.
El descubrimiento de repos NIP-34 de esta semana trajo 26 nuevos anuncios de repositorio, de los cuales cuatro destacan.
gnostr: una implementación de git construida directamente sobre Nostr
gnostr es una implementación de git construida directamente sobre Nostr, distinta de git-remote-nostr en que incluye sus propios comandos de árbol de trabajo como cliente de control de versiones nativo de Nostr desde cero.
nostr-archive: una especificación de archivo con contenido direccionado en Nostr y Blossom
nostr-archive es una especificación borrador e implementación de referencia para archivos con contenido direccionado en Nostr y Blossom.
flower-cache: un servidor de caché local de Blossom
flower-cache es un servidor de caché local de Blossom, útil para clientes que quieren un espejo local activo del conjunto de blobs de un servidor Blossom remoto.
micro-vpn-ansible: playbooks de Ansible para despliegue de VPN sobre NIP-34
micro-vpn-ansible es una pequeña colección de playbooks de Ansible para desplegar una micro VPN, alojada como repositorio NIP-34.
Trabajo de protocolo
Actualizaciones de NIP
- Un mercado de hashrate sin intermediarios sobre Nostr (borrador de propuesta): Borrador de NIP anónimo que argumenta que los actores actuales del mercado de hashrate son todos intermediarios con custodia que someten a los usuarios a KYC. La propuesta esboza un mercado peer-to-peer de hashrate sobre eventos Nostr.
- Feeds curados: una alternativa más simple a los feeds DVM (borrador de propuesta): Un borrador argumenta que las Máquinas de Vending de Datos NIP-90 fueron diseñadas como un mercado de cómputo de propósito general, y el modelo de solicitud/respuesta es más pesado de lo necesario cuando un cliente solo quiere una lista direccionable de IDs de eventos.
- Colores de perfil: identidad visual determinista (borrador de propuesta): Un nuevo borrador de NIP para derivar colores deterministas y legibles de un pubkey de Nostr para identidad visual consistente entre clientes.
- NIPs de seguimiento Namecoin: anclar identidad, relays, TLS y reputación (clúster de borradores): Un clúster separable de borradores de NIP que mueven partes del stack de Nostr existente a registros anclados en Namecoin.
Inmersión profunda en NIP: NIP-34 (git stuff)
NIP-34 define kinds de eventos para alojar repositorios git, parches, pull requests, issues y estado de fusión en relays Nostr. Es el estándar que convierte Nostr en una capa de coordinación para la colaboración de código.
Un repositorio se anuncia como un evento direccionable kind 30617 cuyo tag d es un identificador en kebab-case. Los parches usan kind 1617 y llevan la salida de git format-patch en el cuerpo del contenido. Los pull requests usan kind 1618. Los issues usan kind 1621 con contenido markdown. Los eventos de estado mueven un hilo entre Abierto (1630), Aplicado/Fusionado o Resuelto (1631), Cerrado (1632) y Borrador (1633).
Inmersión profunda en NIP: NIP-53 (Actividades en Vivo)
NIP-53 define la superficie estándar de eventos para actividades en vivo en Nostr: transmisiones en vivo, espacios de reunión persistentes, eventos de conferencia programados, presencia de oyentes y el canal de chat en vivo que vincula los mensajes de chat a un registro de actividad en vivo específico.
Una transmisión en vivo se anuncia como un evento direccionable kind 30311. NIP-53 separa el espacio persistente del evento programado que se celebra en su interior. Un kind 30312 Meeting Space define una sala, y un kind 30313 Conference Event representa una reunión programada o en curso en esa sala.
La superficie de actividades en vivo de Nostr es intencionalmente delgada: NIP-53 anuncia la actividad, mientras otros NIPs manejan preocupaciones adyacentes. Los zaps a transmisiones en vivo usan recibos de zap NIP-57 (Zaps), los objetivos de recaudación de fondos usan metas de zap NIP-75 (Metas de Zap), y las grabaciones de video pueden republicarse como eventos de video NIP-71 (Eventos de Video).
Eso es todo por esta semana. Si estás construyendo algo o tienes noticias que compartir, envíanos un DM en Nostr o encuéntranos en nostrcompass.org.