アメジストはあなたのAndroid携帯電話に最高のソーシャルネットワークをもたらします。Nostr秘密鍵を挿入して投稿を開始するだけです。
これは、KotlinとJetpack Composeで作られたネイティブAndroidアプリです。 このアプリは、nostrpostrlibの修正バージョンを使用して、Nostrリレーと通信します。 全体的なアーキテクチャは、通常の状態/ビューモデル/コンポジション、Nostrリレーに接続するサービスレイヤーを使用するUIで構成されています。 すべてのNostrオブジェクトを完全なオブジェクト指向グラフに保持するモデル/リポジトリレイヤー。
リポジトリレイヤーは、Nostrイベントをメモとユーザーとして別々に保存します。これらのクラスは、ライブデータオブジェクトを使用して UIとアプリの他の部分が個々のメモ/ユーザーをサブスクライブし、更新が発生したときに受信できるようにします。 また、必要に応じてビューモデルを更新する役割も担います。フィルターは画面の変化に反応します。ユーザーとして さまざまなイベントが表示され、データソースクラスはそれらの特定のイベントに関する詳細情報を受け取るために使用されます。
ほとんどのUIは、リポジトリクラスの変更に反応します。サービスレイヤーは、アプリのニーズごとにNostrフィルターを組み立てます。 リレーからデータを受信し、リポジトリに送信します。アプリの使用中にリレーとの接続が閉じられることはありません。 UI は、オブジェクトが更新されたという通知を受け取ります。ユーザーとメモのインスタンスは直接変更できます。 同じ ID を持つ 2 つの Notes や、同じパブリックキーを持つ 2 つの User インスタンスが存在することはありません。
最後に、ユーザーのアカウント情報(プライベートキー/パブキー)は、セキュリティのためにAndroidキーストアに保存されます。
次の前提条件がインストールされていることを確認します。
このリポジトリをフォークしてクローンを作成し、Android Studio にインポートします。
git clone https://github.com/vitorpamplona/amethyst.git
Android Studio ビルドのいずれかを使用して、デバイスまたはシミュレーターにアプリをインストールして実行します。
アプリをビルドします。
./gradlew assembleDebug
./gradlew test
./gradlew connectedAndroidTest
./gradlew installDebug
keytool -genkey -v -keystore <my-release-key.keystore> -alias <alias_name> -keyalg RSA -keysize 2048 -validity 10000 openssl base64 < <my-release-key.keystore> | tr -d '\n' | tee some_signing_key.jks.base64.txt
KEY_ALIAS<-
<alias_name>
KEY_PASSWORD<-
<your password>
KEY_STORE_PASSWORD<-
<your key store password>
SIGNING_KEY< - からのデータ
<my-release-key.keystore>
versionCode
versionName
app/build.gradle
v{x.x.x}
aab
aab
著作権(c)2023ヴィトールパンプローナ
これにより、コピーを取得するすべての人に無料で許可が与えられます。 このソフトウェアおよび関連するドキュメントファイル(「ソフトウェア」)の、 権利を含むがこれに限定されない、制限のないソフトウェアで 使用、コピー、変更、マージ、公開、配布、サブライセンス、および/または販売 本ソフトウェアのコピー、および本ソフトウェアの相手を許可すること 以下の条件に従って、そうするために家具付き:
上記の著作権表示およびこの許可表示は、すべてに含まれるものとします。 本ソフトウェアのコピーまたは重要な部分。
本ソフトウェアは「現状有姿」で提供され、明示またはいかなる種類の保証もありません。 商品性の保証を含むがこれに限定されない黙示的、 特定の目的への適合性と非侵害。いかなる場合も、 著者または著作権者は、請求、損害、またはその他の 契約、不法行為、またはその他の行為のいずれであるかにかかわらず、以下から生じる責任 ソフトウェアまたは使用またはその他の取引から、またはそれに関連して、 ソフトウェア。