Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NIP-78 nostr relay storage
Search
Takuma Shinohara
August 04, 2023
Technology
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
NIP-78 nostr relay storage
Takuma Shinohara
August 04, 2023
More Decks by Takuma Shinohara
See All by Takuma Shinohara
Bluesky Meetup in Tokyo vol.4 - 2023to2026
shinoharata
0
250
MCPとは?
shinoharata
0
160
BlueskyMeetup in Fukuoka アイデアソン
shinoharata
1
140
BlueskyMeetup in Fukuoka アイデアソン結果発表
shinoharata
1
110
いまのBlueskyってどうなの
shinoharata
0
170
四谷ラボとは ※2025/05/31
shinoharata
0
170
What's is Bluesky
shinoharata
0
2k
dissolute fat
shinoharata
0
260
20240520_toranoana_lab.pdf
shinoharata
0
250
Other Decks in Technology
See All in Technology
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
0
360
クレデンシャル流出 ― 攻撃 3 時間 vs 復旧 10 時間。この非対称性にどう備えるか
kazzpapa3
3
620
週末にループ・エンジニアリングの理解を深めるためのスライド
nagatsu
0
580
AI時代における最適なQA組織の作り方
ymty
3
160
「勝手に広まる」人気 AI エージェントを爆速で作ろう!(AWS Summit Japan 2026講演資料)
minorun365
PRO
10
2.6k
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
940
製造現場での生成AIの活用、およびエージェントAIの実装のあり方、AVEVAの取り組み
iotcomjpadmin
0
180
AIをフル活用してオンコール機能のプロトタイプを2日で作った話 / Building an AI-Powered On-Call Prototype in Just Two Days
nari_ex
0
140
作る力から、見極める力へ — AI時代に広がるエンジニアの価値と役割
rince
0
360
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
280
AIに障害切り分けを全部やってもらった。 。 。 。
estie
0
260
Zenoh on Zephyr on LiteX
takasehideki
2
130
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
620
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
300
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
210
Paper Plane (Part 1)
katiecoart
PRO
0
9.3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
450
How GitHub (no longer) Works
holman
316
150k
Mobile First: as difficult as doing things right
swwweet
225
10k
Everyday Curiosity
cassininazir
0
240
Transcript
NIP-78 nostr relay storage 2023/08/04 – t.shinohara
NIP-78
アプリケーション固有データ / 任意のアプリ独自データ 出典:Scrapbox (和訳) https://scrapbox.io/nostr/NIP-78
特徴 出典:Scrapbox (和訳) https://scrapbox.io/nostr/NIP-78 NIP-33 (kind: 30023) の拡張 有名な例 :
Nosli contentや、d以外のタグ利用は何でも OK
リレーをストレージと して使用したいという 思惑? 出典:Scrapbox (和訳) https://scrapbox.io/nostr/NIP-78
Key-value storageとして使え たら便利じゃ ん!!!!!!! 出典:Scrapbox (和訳) https://scrapbox.io/nostr/NIP-78
作った!!!
None
タイムラインの流速を 計測したい
なんで?
タイムラインの流速を 計測したい から
計測データどうする?
Firebase cloud firestore
手間!!!
維持管理!!
なら
リレーに保存しよう 唐突に流れる NIP-78
投げるコードは
殆どが 演習の 1-3
神様ありがとう
どうやって保存してい るの?
データ 構造 const ev = { kind: 30078, content: "none",
tags: [ ["d", "table_name"], ["title", "table_title"], ["t", "table_name"], ["202308041938", "20"], ["202308041938", "17"], ... // 続く ], created_at: currUnixtime(), };
一時的に保存したい データを Post します
僕の使い方
Key-value Storage
なにこれ?
名前:データ で 保存したいものが ひも付きます
Key-value Storage データ 識別名 データ 識別名 データ 識別名 データ 識別名
データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名 データ 識別名
よくある使い方
コード例 const value = getKeyValueStorage(key);
Nostr の NIP-78 使用したライブラリあ るかな?
npm で検索
None
None
None
ないやんけ!!!
作ろ!!
仕 様 検 討 • Key-Values Storage としての利用 • Post
は nostr-tools 等に任せる想定 • 欲しい機能 • DB 初期化 • Get All Table • Get Table • Get Item • Create Table • Insert Table • Update Table • Clear Table
作ってみて
Get Table 便利
Upsert Table 便利
今思っていること
・ Update, Insert 時にテーブルがなかった ら? 自動生成して欲しい ・ テーブルの存在検査をしてから、 テーブル定義を作りたい (なかったら初期化コマンド実行したいなど)
早速つかっています。
野洲田川水系 定点観測所 https://nostr-hotter- site.vercel.app/
None
NIP-78ばり便利