XDR,也被称为外部数据表示法(External Data Representation),它被运用在 Stellar 网络和协议中。总账、事务、事务结果、历史,甚至在运行节点的计算机之间传递的消息都是使用 XDR 进行编码的。
XDR 标准在 RFC 4506 被确定,它类似于 Protocol Buffers 或 Thrift。XDR 包含了一些重要特性:
由于 XDR 是一种二进制格式,并不像 JSON 之类的简单格式那样广为人知,所以 Stellar SDK 包含了解析 XDR 的工具,当你使用 SDK 处理数据时,它会自动帮你完成解析。
此外,Horizon API 服务器通常以 JSON 格式展示 XDR 数据中最重要的那部分数据,因此当您不使用 SDK 的时候,JSON 数据更容易解析。XDR 数据仍然包含在 JSON 中(编码为 base64 字符串),你可以在需要的时候读取它。
XDR 中的数据结构在接口定义文件(IDL)中指定。用于 Stellar 网络的 IDL 文件可以在 GitHub 上获取。