Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Thinking about Feasibility of Scheduled Posts o...
Search
jiftechnify
April 12, 2023
Technology
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Thinking about Feasibility of Scheduled Posts on Nostr
Nostrにおける予約投稿の実現可能性を考える
jiftechnify
April 12, 2023
More Decks by jiftechnify
See All by jiftechnify
Functional Programming in Scala 第2版 読書のすゝめ
jiftechnify
1
1k
Start Nostr Indie Dev for Great Good
jiftechnify
0
240
Cryptography 101 for Understanding Nostr
jiftechnify
0
440
Nostrのリレーから漏れなくすべてのイベントを取ってくる技術
jiftechnify
0
800
Other Decks in Technology
See All in Technology
Geolonia の開発現場における AIの活用について
miya0001
0
100
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
500
家のリアーキテクト・リファクタリング
suguruooki
0
150
range over func 2年間の軌跡 Issue #56413 はGoのエコシステムをどう変えたか
ryujicre8ive
0
170
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
23
14k
30座EKS, 180次升級淬煉的EKS Upgrade Skill 的歷程
eric8230
0
130
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
310
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
170
おい、エージェントを使って終わらせろ
nwiizo
0
200
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
340
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
390
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
340
Featured
See All Featured
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
900
Build your cross-platform service in a week with App Engine
jlugia
234
19k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
A Soul's Torment
seathinner
7
3.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
It's Worth the Effort
3n
188
29k
Amusing Abliteration
ianozsvald
1
300
Designing for Performance
lara
611
70k
The Curse of the Amulet
leimatthew05
2
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Skip the Path - Find Your Career Trail
mkilby
1
230
Transcript
Nostrにおける 予約投稿の実現可能性を考える Nostr勉強会 #2 かすてらふぃ @jiftechnify
自己紹介 かすてらふぃ NIP-05:
[email protected]
Website: c-stellar.net NostrのTLを遡るツール: Nosaray(のさらい) 作者
事の発端: #Zapan 毎週金・土曜日の 朝 6:00〜6:30 に #Zapan タグをつけて投稿し、 Zap(投げ銭)を送り合うイベント cf.
https://scrapbox.io/nostr/Zapan
朝 6:00 ~ 6:30
起きられない
予約投稿機能を求める声たち
そうだ 予約投稿、しよう。
手法1: CLIクライアントを指定時刻に実行 algia (https://github.com/mattn/algia) と at コマンドを組み合わせる # 次の金曜日の朝6 時に
'pura vida' と投稿 echo "algia post 'pura vida'" | at 06:00 Fri # 次の土曜日の朝6 時に ぽわ〜 と投稿 echo "algia powa" | at 06:00 Sat 長所: お手軽 短所: 指定時刻にPCが起動している必要がある コマンドラインに馴染みがない人には厳しいかも
手法2: created_at を未来に設定して投稿 Nostrのイベントには created_at (発行時刻) を好きに設定できる → created_at を未来の投稿したい時刻に設定すれば、予約投稿になる…?
結論: なるっちゃなるが不確実 リレーによって、 created_at が未来なイベントの扱いが異なる created_at が現在時刻から大きく離れたイベントを受け付けないリレーも cf. NIP-22 (https://scrapbox.io/nostr/NIP-22)
誰にでも使えて 確実に投稿できる 予約投稿システム 欲しい!
予約投稿システムの素朴な設計 1. 時刻を指定して、システムに投稿内容を登録 2. 指定時刻になったら、システムがイベントを送信 リレー 予約投稿システム サーバ 2. content:
"pura vida", created_at: < 現在時刻>, sig: ??? 予約投稿システム クライアント ユーザ 1. 「⾦曜朝6 時に "pura vida" と投稿」
署名はどうする? Nostrイベントには、投稿者の秘密鍵による署名を含める必要がある → 予約投稿システムがイベントを発行できるようにするには、 投稿者の秘密鍵をシステムに渡す必要がある…? そんなシステムを誰が使うだろうか? (いや、誰も使わない)
先に署名させておけばいいじゃない 投稿内容ではなく、署名済みのイベントをシステムに登録すれば上手くいく! 1. 指定時刻(未来)の created_at を設定した投稿イベントを生成 2. 生成したイベントに署名を行う 3. システムに署名済みのイベントを登録
4. 指定時刻になったら、システムが署名済みのイベントを送信 システムは、ひたすら登録されたデータをそのままリレーに送るだけ → 投稿者の秘密鍵を知らなくてもよい
リレー 予約投稿システム サーバ 4. 3. content: "pura vida", created_at: <
⾦曜朝6 時>, sig: < 投稿者による署名> 転送 予約投稿システム クライアント ユーザ content: "pura vida", created_at: < ⾦曜朝6 時> 1. 2. 署名 設計図解
実装は? Nostr It (https://nostrit.com/) 通信内容を覗いた感じ、おそらく今回説明した仕組みで動いている ハッシュタグ未対応 ハッシュタグ対応版を独自に実装したい(未完成 )
まとめ Nostr上で実現可能な予約投稿の仕組みを検討した