XRPL:如何获取账户余额的历史记录



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

例如,我如何在某一天检查帐户的余额?

我知道有了v2 api,就有可能查询balance_changes。但这似乎不是新版本的一部分。

例如:

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

新的Websocket API是如何做到这一点的?

WebSocket API无法进行任何方便的API调用。我想你想要的是XRP余额,而不是代币/发行货币余额,它们在不同的地方。

一种方法是进行account_tx调用,然后遍历元数据。许多(但不是所有(交易都会有一个类型为AccountRootModifiedNode分录——如果该交易更改了账户的XRP余额,您可以看到该分录的PreviousFieldsFinalFields的差异。Look Up Transaction Results教程详细介绍了如何以这种方式解析元数据。这里有一些棘手的边缘情况:例如,如果你发送的交易在交易所购买了10滴XRP,但燃烧了10滴的XRP作为交易成本,那么元数据不会显示余额变化,因为净变化为零(+10,-10(。

另一种方法可以是估计ledger_index在给定时间最近关闭的金额,然后使用account_info查找该账户截至该时间的余额。最困难的部分是弄清楚在某个特定时间最新的分类账指数是多少。这是数据API比WebSocket API更方便的地方之一-在WebSocket中没有办法按日期查找,所以你必须尝试一个分类帐索引,看看分类帐的结束时间是什么,尝试另一个分类账索引,看看日期是什么,等等。

最新更新