Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
NIP-78 nostr relay storage 2023/08/04 – t.shinohara
Slide 2
Slide 2 text
NIP-78
Slide 3
Slide 3 text
アプリケーション固有データ / 任意のアプリ独自データ 出典:Scrapbox (和訳) https://scrapbox.io/nostr/NIP-78
Slide 4
Slide 4 text
特徴 出典:Scrapbox (和訳) https://scrapbox.io/nostr/NIP-78 NIP-33 (kind: 30023) の拡張 有名な例 : Nosli contentや、d以外のタグ利用は何でも OK
Slide 5
Slide 5 text
リレーをストレージと して使用したいという 思惑? 出典:Scrapbox (和訳) https://scrapbox.io/nostr/NIP-78
Slide 6
Slide 6 text
Key-value storageとして使え たら便利じゃ ん!!!!!!! 出典:Scrapbox (和訳) https://scrapbox.io/nostr/NIP-78
Slide 7
Slide 7 text
作った!!!
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
タイムラインの流速を 計測したい
Slide 10
Slide 10 text
なんで?
Slide 11
Slide 11 text
タイムラインの流速を 計測したい から
Slide 12
Slide 12 text
計測データどうする?
Slide 13
Slide 13 text
Firebase cloud firestore
Slide 14
Slide 14 text
手間!!!
Slide 15
Slide 15 text
維持管理!!
Slide 16
Slide 16 text
なら
Slide 17
Slide 17 text
リレーに保存しよう 唐突に流れる NIP-78
Slide 18
Slide 18 text
投げるコードは
Slide 19
Slide 19 text
殆どが 演習の 1-3
Slide 20
Slide 20 text
神様ありがとう
Slide 21
Slide 21 text
どうやって保存してい るの?
Slide 22
Slide 22 text
データ 構造 const ev = { kind: 30078, content: "none", tags: [ ["d", "table_name"], ["title", "table_title"], ["t", "table_name"], ["202308041938", "20"], ["202308041938", "17"], ... // 続く ], created_at: currUnixtime(), };
Slide 23
Slide 23 text
一時的に保存したい データを Post します
Slide 24
Slide 24 text
僕の使い方
Slide 25
Slide 25 text
Key-value Storage
Slide 26
Slide 26 text
なにこれ?
Slide 27
Slide 27 text
名前:データ で 保存したいものが ひも付きます
Slide 28
Slide 28 text
Key-value Storage データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名
Slide 29
Slide 29 text
よくある使い方
Slide 30
Slide 30 text
コード例 const value = getKeyValueStorage(key);
Slide 31
Slide 31 text
Nostr の NIP-78 使用したライブラリあ るかな?
Slide 32
Slide 32 text
npm で検索
Slide 33
Slide 33 text
No content
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
No content
Slide 36
Slide 36 text
ないやんけ!!!
Slide 37
Slide 37 text
作ろ!!
Slide 38
Slide 38 text
仕 様 検 討 • Key-Values Storage としての利用 • Post は nostr-tools 等に任せる想定 • 欲しい機能 • DB 初期化 • Get All Table • Get Table • Get Item • Create Table • Insert Table • Update Table • Clear Table
Slide 39
Slide 39 text
作ってみて
Slide 40
Slide 40 text
Get Table 便利
Slide 41
Slide 41 text
Upsert Table 便利
Slide 42
Slide 42 text
今思っていること
Slide 43
Slide 43 text
・ Update, Insert 時にテーブルがなかった ら? 自動生成して欲しい ・ テーブルの存在検査をしてから、 テーブル定義を作りたい (なかったら初期化コマンド実行したいなど)
Slide 44
Slide 44 text
早速つかっています。
Slide 45
Slide 45 text
野洲田川水系 定点観測所 https://nostr-hotter- site.vercel.app/
Slide 46
Slide 46 text
No content
Slide 47
Slide 47 text
NIP-78ばり便利