NIP40

过期时间戳

draft optional author:0xtlt

expiration 标记使用户能够指定一个 UNIX 时间戳,在该时间戳时,消息应被视为过期(由中继和客户端),并且应由中继删除。

规格

tag: expiration
values:
 - [UNIX timestamp in seconds]: required

例子

{
    "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>"
}

注意:时间戳的格式应与在时间戳时创建的 _ 的格式相同,并应解释为中继应删除消息的时间。

客户行为

客户端应使用该 supported_nips 字段来了解中继是否支持此 NIP.客户端不应向不支持此 NIP 的中继发送过期事件。

客户端应忽略已过期的事件。

中继行为

中继不能在过期时立即删除过期的消息,而是可以无限期地保留它们。中继不应向客户端发送过期事件,即使这些事件已存储。如果中继已过期,则应删除向其发布的任何事件。过期时间戳不会影响临时事件的存储。

建议的使用情形

  • 临时公告-此标记可用于发布临时公告。例如,事件组织者可以使用此标记发布有关即将发生的事件的公告。

  • 限时优惠-企业可使用此标签提供在一定时间后过期的限时优惠。例如,企业可以使用此标记来提供仅在有限时间内可用的特别优惠。

警告

这些事件可以由第三方下载,因为它们在继电器上始终可公开访问。因此,不要将邮件过期视为对话或其他用途的安全功能。

Last updated