このプロジェクトについて

Keepは、FROST(Flexible Round-Optimized Schnorr Threshold Signatures)閾値署名のためのAndroidアプリケーションであり、専用のNostrイベント署名者として構築されています。ユーザーはスマートフォンにFROST鍵シェアを保持し、単一のデバイスが完全な秘密鍵を保持することなくNostrイベントに署名できます。NIP-55 Android署名者プロトコル(インテントとコンテンツプロバイダー)およびNIP-46リモート署名(バンカーサービス)を実装しているため、互換性のあるNostrクライアントは直接署名を要求できます。 READMEに記載されている主な機能: - 2-of-3や3-of-5などの設定可能なスキームによるFROST閾値署名。 - NIP-55 Android署名者プロトコルおよびNIP-46リモート署名。 - QRコードまたはテキストによるFROSTシェアのインポートおよびエクスポート、既存のnsecキーのインポートも可能。 - アプリごとの署名権限とポリシーを備えた複数アカウントのサポート。 - 署名履歴と監査ログ。 - 生体認証およびPIN認証、Android Keystoreによるハードウェアバックアップ鍵ストレージ。 - 緊急時の鍵削除用キルスイッチ。 - SOCKSプロキシサポート(Tor)およびリレー接続用の証明書ピン留め。 - NIP-44暗号化および復号化、さらにNIP-04操作。 - 設定可能なレート制限を備えたバックグラウンド署名。 - 暗号化されたバックアップと復元。 - マルチシグ用のBitcoinウォレット記述子の調整。 サポートされているNIP-55操作には、get_public_key、sign_event、nip04_encrypt、nip04_decrypt、nip44_encrypt、nip44_decrypt、decrypt_zap_eventが含まれます。 配布はZapstore、Obtainium、GitHubリリース、F-Droidを通じて提供されます。ビルドには固定されたツールチェーンバージョンが必要です:Rust 1.89.0、Android NDK 29.0.14206865、cargo-ndk 4.1.2、JDK 17。不一致があるとビルドは即座に失敗します。Gradleはソースが変更されるとRustライブラリを自動的に再ビルドします。スクリプトを使用すると、NDKなしでホストビルドからKotlinバインディングを更新して型チェックできますが、そのようなビルドは実行時にUnsatisfiedLinkErrorで失敗します。別のスクリプトは、ビルドスクリプトとCIワークフロー全体で固定バージョンを検証します。 貢献はGitHubのイシューとプルリクエストを通じて受け付けています。翻訳も歓迎されており、ブラジルポルトガル語、スペイン語、ドイツ語、日本語のシードロケールがあります。管理された翻訳プラットフォームはバックログとして記載され、CIはロケールのずれをチェックします。プロジェクトはMITライセンスの下で提供されています。