NIP-40
#NIP
Expiration Timestamp
https://github.com/nostr-protocol/nips/blob/master/40.md
期限切れタイムスタンプ
expirationタグの値(Unixタイムスタンプ)でイベントの有効期限を表すことにしよう、という提案。
期限が切れたイベントはリレーから削除されるべき(SHOULD)
code:仕様
tag: expiration
values:
- UNIX timestamp in seconds(UNIXタイムスタンプ(秒)): required(必須)
code:イベント例.json
{
"pubkey": "<pub-key>",
"created_at": 1000000000,
"kind": 1,
"tags": [
"expiration", "1600000000"
],
"content": "This message will expire at the specified timestamp and be deleted by relays.\n",
"id": "<event-id>"
}
クライアントの挙動
クライアントは、NIP-11のsupported_nipsを使ってリレーがこのNIPをサポートしているか調べるべき(SHOULD)であり、このNIPをサポートしないリレーに対して有効期限つきイベントを送信すべきでない(SHOULD NOT)。
クライアントは期限切れイベントを無視すべき(SHOULD)。
リレーの挙動
リレーは、期限が切れたイベントを即座に削除しなくてもよく(MAY NOT)、無期限に保存しておいてもよい(MAY)。
リレーは、期限が切れたイベントをクライアントに送信すべきではない(SHOULD)。(保存していたとしても)
リレーは、発行時点で既に期限が切れているイベントを無視すべき(SHOULD)。
期限切れタイムスタンプは、一時イベント(cf. NIP-16)の扱いには影響を与えない。
使用例
一時的な告知
期間限定サービス
注意: 以下の理由により、期限付きメッセージをセキュリティの目的で使うことはできない
イベントはリレーを通してどこからでもアクセスできる
リレーが期限切れのイベントをストレージから削除するとは限らない