1

我想使用新的 WebSocket API 查询 XRPL 帐户的余额历史记录。

例如,我如何查看某一天的账户余额?

我知道使用 v2 api,可以查询 balance_changes。但这似乎不是新版本的一部分。

例如:

https://data.ripple.com/v2/accounts/rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn/balance_changes?start=2018-01-01T00:00:00Z

这是如何使用新的 Websocket API 完成的?

4

1 回答 1

2

WebSocket API 无法通过便捷的 API 调用来获取此信息。我假设您想要 XRP 余额,而不是代币/已发行货币余额,它们位于不同的位置。

一种解决方法是进行account_tx 调用,然后遍历元数据。许多(但不是全部)交易都会有一个ModifiedNode类型的条目AccountRoot——如果该交易改变了账户的 XRP 余额,您可以看到该条目的PreviousFields对比差异FinalFields查找事务结果教程有一些关于如何以这种方式解析元数据的详细信息。这里有一些棘手的边缘情况:例如,如果您发送的交易在交易所购买了 10 滴 XRP,但作为交易成本烧掉了 10 滴 XRP,那么元数据不会显示余额变化,因为净变化为零(+10,-10)。

另一种方法可能是估计ledger_index在给定时间最近关闭的内容,然后使用account_info来查找该时间的帐户余额。困难的部分是弄清楚在给定时间最新的分类帐索引是什么。这是 Data API 比 WebSocket API 更方便的地方之一——无法在 WebSocket 中按日期查找,因此您必须尝试分类帐索引,查看分类帐的关闭时间是多少,再尝试另一个分类帐索引,查看日期等。

于 2022-01-06T21:59:11.410 回答