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
0
150
NIP-78 nostr relay storage
Takuma Shinohara
August 04, 2023
Tweet
Share
More Decks by Takuma Shinohara
See All by Takuma Shinohara
民主的なSNSは日本を救う
shinoharata
0
150
Nostr x Gorilla Vim Collaboration
shinoharata
0
230
press_on_nostr_book
shinoharata
0
220
abc2023_slide_upload.pdf
shinoharata
0
170
LNBits で始める 家電Hack
shinoharata
0
150
Blueskyのいろいろ作ってみた
shinoharata
0
190
PLCサーバーと対話する
shinoharata
0
94
日本人開発者が制作したクライアントのご紹介 / The Client apps development by japanese.
shinoharata
1
1.9k
2023/03/17 Bluesky/ATP勉強会#0 始まりのあいさつ
shinoharata
0
230
Other Decks in Technology
See All in Technology
Janus
bkuhlmann
1
500
JAWS-UG Bedrock Claude Night
yamahiro
3
670
AWS学習者向けにAzureの解説スライドを作成した話
handy
3
110
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
160
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
130
20分で完全に理解するGrafanaダッシュボード
hamadakoji
4
830
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
420
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
140
ServiceNow Knowledge Learning Rise up
manarobot
0
220
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
920
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
380
LLM開発・活用の舞台裏@2024.04.25
yushin_n
3
1k
Featured
See All Featured
Gamification - CAS2011
davidbonilla
76
4.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
222
21k
Building a Scalable Design System with Sketch
lauravandoore
457
32k
YesSQL, Process and Tooling at Scale
rocio
165
13k
GitHub's CSS Performance
jonrohan
1025
450k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
The Mythical Team-Month
searls
216
42k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
How to name files
jennybc
65
93k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
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ばり便利