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
170
NIP-78 nostr relay storage
Takuma Shinohara
August 04, 2023
Tweet
Share
More Decks by Takuma Shinohara
See All by Takuma Shinohara
What's is Bluesky
shinoharata
0
230
dissolute fat
shinoharata
0
96
20240520_toranoana_lab.pdf
shinoharata
0
91
民主的なSNSは日本を救う
shinoharata
0
180
Nostr x Gorilla Vim Collaboration
shinoharata
0
280
press_on_nostr_book
shinoharata
0
230
abc2023_slide_upload.pdf
shinoharata
0
210
LNBits で始める 家電Hack
shinoharata
0
160
Blueskyのいろいろ作ってみた
shinoharata
0
210
Other Decks in Technology
See All in Technology
GA technologiesの経営戦略から駆動するデータ基盤構築
pacocat
0
520
テストコードの観点から見たSansanのアーキテクチャ変遷
sansantech
PRO
2
190
運用者の各領域で向き合うLLM
nwiizo
1
270
経営視点から捉えた開発生産性 / Development productivity from a management perspective
kyuns
10
4.6k
AWSの生成AIサービス入門 & 最強の書籍紹介!
minorun365
PRO
2
100
IaCツールのいろいろ
takesection
0
220
Meet the Translation API
akkie76
0
110
アジャイルの灯火を絶やさない! 社内アジャイルコミュニティ運営
hacomono
PRO
1
150
最適化ソリューションサービスにおける VSM分析とチームトポロジー
muteua
3
4.4k
爆速開発文化を支えるProduct Engineerの 開発生産性向上の取り組み
shnjtk
8
3.3k
フロントエンドの Monorepo をやめてリポジトリ分割したワケ / Why did we stop using Monorepo on the frontend and split the repository?
kaminashi
6
3.1k
awslim - Goで実装された高速なAWS CLIの代替品を作った/layerx.go#1
fujiwara3
1
250
Featured
See All Featured
Statistics for Hackers
jakevdp
791
220k
Rails Girls Zürich Keynote
gr2m
91
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
24
1.7k
What the flash - Photography Introduction
edds
64
11k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
23
2k
What’s in a name? Adding method to the madness
productmarketing
PRO
18
2.8k
The Invisible Side of Design
smashingmag
294
50k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Documentation Writing (for coders)
carmenintech
62
4.1k
YesSQL, Process and Tooling at Scale
rocio
165
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
Happy Clients
brianwarren
93
6.5k
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ばり便利