NIP 1011 - A Simple REA Scheme

Abstract

A Simple REA Shceme 主要描述如何将交易原始数据映射成满足 REA 会计信息模型需求的文本规范,该文本规范包含 Nostr event 格式,以及 agent、event 参数。本规范的目标是提供一种交易元数据,以便诠释交易的用途与场景,并作为公共数据用于钱包、浏览器、会计、报税、数据分析等领域。

Specification

NIP1011 是基于 NIP32 (Labeling) 的延伸,目前主要用于描述以太坊交易的两个元数据 agentevent,将来可能衍生更多参数需求。

工作流程

  1. Mest 将会 decode 一笔以太坊交易中包含的两个关键信息 toinput,其中的 input 转译成人类可读的 method(比如 transferFrom(address,address,uint256))。此时我们可以将 tomethod 映射到对应的 agent、event 参数中。

  2. 任何人都可以在 Mest 创建钱包列表作为 agent,比如你可以创建一个 Uniswap 钱包列表收录所有相关的智能合约地址,并提供该 agent 的元信息(名称、头像、网站等)。

  3. 任何人都可以在 Mest 创建交易分类作为 event,比如你可以创建 Financing/Borrow作为借款用途,并提供该 event 的元信息(描述、例子等)。

  4. 当用户选择一笔交易记录中的 to、method 信息映射成 agent、event 后,将会发送一份携带用户签名的 NIP1011 文本到 Nostr Relay 作为交易元数据的传递与存储。

格式

该格式基于 NIP32 的 L 作为标签命名空间、l 作为标签,其中标签命名空间以 rea 作为前缀、#{agent:event} 作为后缀。

  • L 代表标签命名空间

  • l 代表标签

  • ["L", "rea#agent"] 是 agent 的标签命名空间,引用 NIP02 的联系人机制作为钱包列表集合。

  • ["L", "rea#event" ] 是 event 的标签命名空间,引用纯文本作为交易用途分类。

参考

  • ["l", "uniswap", "rea#agent"]

  • ["l", "swap", "rea#event"]

Example

{
  "kind": 1011,
  "created_at": [Creation Timestamp],
  "content": "[Content in Markdown]",
  "tags": [
    ["L", "rea#agent"],
    ["L", "rea#event"],
    ["l", "uniswap", "rea#agent"], 
    ["l", "swap", "rea#event"],
  ],
  "pubkey": "[Signer's Public Key]",
  "id": "[Event ID]",
}

Last updated