0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Nostr上でアプリ状態同期するためのSDK

0
Posted at

TypeScript SDK「nostr-aop v0.1.0」を公開しました

Nostr上でApplication Objectを扱うためのTypeScript SDK、

nostr-aop v0.1.0

を公開しました

nostr-aopとは?

nostr-aopは、Nostrイベントを利用してアプリケーション単位のObjectを同期・管理するためのSDKです

目的は、

「アプリケーションごとに独自の同期サーバーを作る」

という構成から、

「既存のNostr Relayネットワークを利用してアプリケーションを構築する」

という選択肢を提供することです

主な機能

現在対応している機能:

Object管理

  • create | 新規のを作成
  • get | 既存のを作成
  • close | リレー接続などを切断

Event管理(Action管理)

System Event:

  • join | 参加
  • leave | 退出(再度、参加可能な場合が多い)
  • invite | userの招待
  • chmod | 全体の権限変更
  • chmodI | 個人単位での権限変更
  • (revoke) | 内部でタイムアウトした際に送信する場合がある

Application Event:

  • action | 任意のイベント

State管理

Object内部で:

  • setting
  • history
  • pending
  • waiting

を管理します

利用環境

Node.js対応

Browser対応

BrowserではNIP-07 signerを利用できます

例:

const aop = new AOP(...);//リレーなどを指定
const object = await aop.createObjectData(...);//Objectの引数を指定

のようにObject単位でアプリケーション状態を扱えます

なぜ作ったのか

Nostrは単なるSNSプロトコルではありません

イベントを共有する分散ネットワークとして利用できます

しかし、アプリケーションを作るためには、

  • 状態管理
  • 権限
  • 履歴
  • 同期

の共通レイヤーが必要になります

nostr-aopはその部分を提供することを目指しています

今後

次の改善予定:

  • Multi Relay対応
  • Examples追加
  • API整理
  • Documentation強化
  • Test拡充

まだまだ課題の残る初期バージョンですが、Nostr上で新しいアプリケーションモデルを試すための基盤として育てていきます

Feedbackやcontributionをいただけると幸いです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?