Nostr Compassへようこそ。Nostrの最新動向をお届けする週刊ガイドです。

今週の注目: Marmot ProtocolがMIP-05通知プリミティブ初実装、アドレス指定可能なNIP-51キーパッケージ、強化されたセキュリティレビューを備えたMDK 0.8.0を公開しました。LaWallet NWCはOpenSatsの資金提供以来最大のリリースとなるv0.10.0を公開し、完全な管理ダッシュボード、エンドユーザーウォレット、エンドツーエンドの活動ログ、新しいLightningAddress 1→NとNWCConnectionスキーマを提供します。AmethystはJWTリフレッシュ時の音声ギャップ解消、ライフサイクル対応キーデータサブスクリプション、リレーのキープアライブ再接続、アニメーション発言参加者インジケーターを含むNests安定化スプリントを実施しました。ngitはv2.4.2とv2.4.3を公開し、PRサブミッション時のGRASPサーバー検出とマルチリモート状態イベントフィルタリングを修正しました。GRAINはv0.5.4を公開し、本番環境向け強化とDockerクイックスタートでの無音データ損失バグを修正しました。Mostro CoreはPGP署名リリースアーティファクトを含むv0.10.1を公開しました。Claveはマルチアカウントサポートを備えたv0.2.0をiOSでリリースしました。

主要ストーリー

MDK 0.8.0がMIP-05通知プリミティブとアドレス指定可能なキーパッケージを追加

Marmotプロトコルの中核RustライブラリであるMDKは、5月4日にv0.8.0を公開しました。このリリースでは初のMIP-05通知ビルディングブロックを提供し、MIP-00キーパッケージをアドレス指定可能なイベントに移行してユーザーのキーパッケージをその場で置き換えられるようにし、混在バージョングループの互換性を向上させ、モバイルバインディングのUniFFIカバレッジを拡張し、管理アクション、コミット、ストレージ、暗号化境界、リプレイ処理に関するバリデーションパスを強化しています。MIP-05プリミティブにはPR #235で追加されたリーフインデックスヘルパーが含まれており、下流クライアントがグループ構造を漏らすことなく受信者ごとのプッシュ通知を届けるのに十分な情報を提供します。PR #273はmdk-coreのcrates.io公開を復元し、PR #269はtest_utilモジュールをtest-utils Cargoフィーチャーの背後に公開して外部クライアントスイートがMarmotのテストハーネスを共有できるようにします。

LaWallet NWC v0.10.0が完全なモノレポとエンドユーザーウォレットを提供

LaWalletチームのNIP-47 Nostr Wallet Connect実装であるLaWallet NWCは、4月30日にv0.10.0を公開しました。これはOpenSatsの資金提供以来最大のリリースです。完全なモノレポ、完全な管理ダッシュボード、エンドユーザーウォレット、エンドツーエンドの活動ログ、ダイナミックブランディング、新しいLightningAddress 1→NとNWCConnectionスキーマを提供します。PR #191で公開されたユーザー向けウォレットは、オンボーディング、ホーム、送受信、スキャン、通貨、アクティビティフィード、オフラインキャッシュをカバーしています。

AmethystがNestsをキープアライブ、JWTレジリエンス、ライフサイクルサブスクリプションで安定化

機能豊富なAndroidクライアントAmethystは、本番環境でのコール障害を引き起こしていた故障モードに焦点を当てた安定化スプリントでNIP-53 Nestsオーディオルームの作業を継続しました。PR #2733の音声ギャップ修正はJWTリフレッシュ中にアクティブストリームと新しい資格情報の取得を重複させます。PR #2730の新しいキープアライブメカニズムは手動ユーザー操作なしに切断されたリレーを再接続し、PR #2728はレガシーのKeyDataSourceSubscriptionをLifecycleAwareKeyDataSourceSubscriptionに置き換えます。PR #2724はマルチスピーカーセッションで発言中の参加者をハイライトするアニメーション外リングインジケーターを追加します。

ngit v2.4.2とv2.4.3がGRASPサーバー検出とマルチリモート状態イベントを修正

NIP-34コラボレーションのコマンドラインツールおよびgitプラグインであるngitは、4月28日にv2.4.2を、5月1日にv2.4.3を公開しました。v2.4.2はrepo_graspsが正規化されたホスト名を保持していたがフルクローンURLと比較していたURL正規化の不一致を修正します。v2.4.3はリポジトリが同じ識別子を共有する複数のnostr://リモートを持つ場合に発生した状態イベントのあいまいさを修正します。

GRAIN v0.5.4が本番環境向け強化と無音データ損失の修正を実施

GoベースのNostrリレーおよびクライアントライブラリであるGRAINは、4月30日にv0.5.4を公開しました。このリリースはv0.5.3以降に蓄積された6つの修正をまとめており、コンテナ再起動時にイベントを無音でドロップしていたDockerクイックスタートの無音データ損失バグと、アドレス指定可能なイベント読み込みにおけるストレージ層の正確性バグを含みます。

Mostro Core v0.10.1がPGP署名リリースアーティファクトを追加

Mostroデーモンのピアツーピア機能を提供するRustライブラリであるMostro Coreは、4月28日にv0.10.1を公開しました。新しいリリースにはPGP署名リリースアーティファクトとverify-releaseフローが追加され、下流のパッケージャーがアーティファクトの出所を確認できます。

タグ付きリリース

Clave v0.2.0がNIP-46 (Nostr Connect)署名でiOSにマルチアカウントをリリース

iOS向けNIP-46リモート署名アプリのClaveは、5月5日にv0.2.0を公開しました。最大の更新はマルチアカウントサポートの導入です。Claveは1台のデバイスに最大4つのアカウントを保持でき、ワンタップの切り替えとアカウントごとの分離を実現します。PR #23がマルチアカウントのiOSの仕組みを追加し、PR #22がAPNsペイロードにsigner_pubkeyフィールドを追加してデバイスがリモート署名リクエストがどのアカウントに属するかを判別できるようにします。

Wispがv1.0.3からv1.0.5の安定化作業を公開

AndroidクライアントのWispは、5月4日にv1.0.3、v1.0.4、v1.0.5を公開し安定化作業を実施しました。PR #506はフルメディアのロード中にぼかしたイメージプレビューのためのThumbhashを追加し、PR #514はボトムタブ切り替え時のもたつきを軽減します。

Amber 6.1.0-pre1がレイアウトと安定性の修正を公開

NIP-55とNIP-46向けAndroid署名アプリのAmberは、新しいアプリ接続フローのレイアウト修正と複数のクラッシュ修正を含むv6.1.0-pre1を公開しました。PR #416はActivityStatsBarのレイアウトとテキストオーバーフローの問題を修正します。

Routstr Core v0.4.3が支払い、返金、利用レポートを改善

Routstr Coreは5月1日にプレリリースとしてv0.4.3を公開し、支払いと返金の処理、コスト追跡、利用レポートを改善しました。

Nostria v3.1.37からv3.1.41がWebブックマークと自動テーマを追加

マルチプラットフォームNostrクライアントのNostriaは、v3.1.37からv3.1.41を公開し、NIP-B0 Webブックマークサポート、デバイス設定に追従する自動テーマ、アプリ内PDF表示を追加しました。

NoorNote v0.8.9がデスクトップ初回起動時の空白画面を修正

NoorNoteは4月28日にv0.8.9を公開し、デスクトップアプリの初回起動時の空白画面バグを修正しました。

Kubo v0.3.4からv0.4.1が保護者コントロールとWeb of Trustフィードキュレーションを備えた子供向けNostr動画プラットフォームを公開

Nostr上の子供向け動画プラットフォームKuboは、5月4日と5日にv0.3.4からv0.4.1を公開しました。各子供は別々のNostrキーペアと動画優先フィードを持ち、親が時間制限(1日15〜180分)、許可された時間帯、投稿アクションの表示を制御できます。

未リリースの変更

SproutがDesktop v0.0.4とv0.0.5を公開し、NIP-OAエージェント認証とペアリングサイドカーを追加

BlockのNostrクライアントSproutは、5月5日にDesktop v0.0.4を、5月6日にv0.0.5を公開しました。PR #471はリレーのNIP-43メンバーシップフローにNIP-OAエージェント認証を組み込み、自律エージェントが特定の人間公開鍵がその行動を承認したことを証明できるようにします。NIP-AB デバイスペアリング用の新しい一時的なサイドカーリレーがPR #467にsprout-pair-relayとして追加されます。

nostreamがMarmotリレーサポートとNIP-25リアクションを追加

Node.jsリレー実装のnostreamは、PR #602でMIP 00から03をカバーするMarmot Protocolリレーサポート、PR #589でNIP-25リアクションサポート、PR #586で#gフィルター用のジオハッシュプレフィックスマッチングをマージしました。

strfryが接続ごとの可観測性を追加しnofilesの上限を削減

C++製Nostrリレーのstrfryはオブザーバビリティをターゲットとした14個のPRをマージしました。PR #218は接続ごとの保留中のアウトバウンド可観測性と設定可能なバックプレッシャーキャップを追加します。PR #224はイベントごとのモニターファンアウトからstd::functionのヒープアロケーションを削除します。

DamusがTenor GIFをPurpleプロキシに置き換えコンパクションUXをリリース

DamusはPR #3737をマージし、Tenor GIF統合をDamus Purpleプロキシに置き換えました。

Primal AndroidがExplore、アラート、NIP-05認証バッジを改善

Primal AndroidはPR #1043をマージし、_@domainの識別子を持つユーザーの点滅するNIP-05認証バッジを修正しました。

Alby HubがアプリConnectionからのNWC決済を追加

Alby HubはPR #2267をマージし、アプリ接続からの決済を可能にしました。

routstrd-auth:NIP-98認証とnpub RBACを備えたチーム向けDocker化Routstrd

routstrd-authは4月27日に作成され、npubベースのロールベースアクセスコントロールとNIP-98 HTTP認証を備えたマルチユーザーチームデプロイメント向けのRoutstrをDocker化したバリアントです。

RoutstrがデーモンクライアントとリモートモードにHermesを統合

RoutstrはPR #22をマージし、Hermes Agentとの統合を追加してRoutstrがNostr経由で発見したモデルプロバイダーとAPIキーでエージェントの設定ファイルが自動入力されるようにしました。

whitenoise-rsがアカウントごとのデータベース分離とプロポーザルアップグレードを公開

whitenoise-rsはPR #796をマージしてメッセージプロジェクションテーブルをアカウントごとのデータベースに移動し、PR #791はプロポーザルアップグレードを追加してグループが新しいプロポーザルタイプで機能を拡張できるようにします。

Angorがコンパクトなアプリフローとキープロバイダーおよびネットワーク切り替えの強化を含む0.2.21を公開

Angorは5月6日に0.2.21を公開し、モバイルデザインのパフォーマンス改善、コンパクトなアプリフロー、セキュアなキープロバイダーを提供します。

新たに追跡・発見されたプロジェクト

BitMacro Signer:クライアントサイドキー暗号化を備えた自己ホスト型NIP-46バンカー

BitMacro SignerはNIP-46バンカーモデルを使用したセルフホスト型のNostr署名ツールです。キーはストレージ前にクライアントサイドで暗号化されるため、サーバーは平文を保持しません。

今週はNIP-34リポジトリ発見で26件の新しいリポジトリアナウンスが見つかり、そのうち4件が注目されます。

gnostr:Nostr上に直接構築されたgit実装

gnostrはNostr上に直接構築されたgit実装で、ゼロから作られたNostrネイティブバージョン管理クライアントとして独自のワーキングツリーコマンドを提供します。

nostr-archive:NostrとBlossom上のコンテンツアドレス型アーカイブ仕様

nostr-archiveはNostrとBlossom上のコンテンツアドレス型アーカイブのドラフト仕様とリファレンス実装です。

flower-cache:ローカルBlossomキャッシュサーバー

flower-cacheはローカルのBlossomキャッシュサーバーで、リモートBlossomサーバーのblobセットのホットローカルミラーが欲しいクライアントに有用です。

micro-vpn-ansible:NIP-34経由のVPNデプロイメント向けAnsibleプレイブック

micro-vpn-ansibleはNIP-34リポジトリとしてホストされる、マイクロVPNデプロイ用の小さなAnsibleプレイブックコレクションです。

プロトコル作業

NIPの更新

  • NostrでのブローカーレスハッシュレートマーケットNostr(ドラフト提案):現在のハッシュレート市場プレイヤーがユーザーにKYCを要求するカストディアルブローカーであると主張する匿名NIPドラフト。NostrイベントでのP2Pハッシュレートマーケットを提案。
  • Curated Feeds:DVMフィードのシンプルな代替(ドラフト提案):NIP-90 DVMはシンプルなフィードキュレーションには重すぎると主張し、イベントIDの順序付きリストを持つ薄いアドレス指定可能なイベントを提案。
  • Profile Colors:決定論的ビジュアルアイデンティティ(ドラフト提案):クライアント間で一貫したビジュアルアイデンティティのためにNostr公開鍵から決定論的な読みやすい色を導出するための新しいNIPドラフト。
  • NamcoinトラックNIP:アイデンティティ、リレー、TLS、評判のアンカリング(ドラフトクラスター):NostrスタックのピースをNamecoinに固定されたレコードに移動するドラフトNIPのクラスター。

NIP詳解:NIP-34(gitストッフ)

NIP-34はNostrリレー上でgitリポジトリ、パッチ、プルリクエスト、イシュー、マージステータスをホストするためのイベントkindを定義します。リポジトリはkind 30617のアドレス指定可能なイベントとしてアナウンスされます。パッチはgit format-patchの出力を運ぶkind 1617を使用します。プルリクエストはkind 1618を使用します。イシューはmarkdownコンテンツのkind 1621を使用します。ステータスイベントはスレッドをOpen(1630)、Applied/MergedまたはResolved(1631)、Closed(1632)、Draft(1633)の間で移動させます。今週のNIP-34のニュースは先週のGitWorkshop v2ローンチと同様です:GRASPサーバー、ngit、nostr://クローンURLスキームが合わさってブラウザ内PRマージボタンが機能し、完全に分散化されたフォージのループを閉じています。

NIP詳解:NIP-53(ライブアクティビティ)

NIP-53はNostr上のライブアクティビティの標準イベントサーフェスを定義します:ライブストリーム、永続的なミーティングスペース、スケジュールされたカンファレンスイベント、リスナーの存在、ライブチャット。ライブストリームはkind 30311のアドレス指定可能なイベントとしてアナウンスされます。NIP-53は永続的な部屋とその中で開催されるスケジュールされたイベントを分離します:kind 30312 Meeting Spaceが部屋を定義し、kind 30313 Conference Eventがその部屋でのスケジュールされたまたは進行中のミーティングを表します。Nostrのライブアクティビティサーフェスは意図的に薄く設計されています:NIP-53がアクティビティをアナウンスし、zap(NIP-57)、zapゴール(NIP-75)、動画録画(NIP-71)などの隣接する関心事は他のNIPが処理します。


今週はここまでです。何かを構築中または共有したいニュースがあれば、NostrでDMするか、nostrcompass.orgでご連絡ください。