【问题标题】:XRPL: How to get the history of the balance of an account?XRPL:如何获取账户余额的历史记录?
【发布时间】:2022-01-07 05:59:11
【问题描述】:

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

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

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

例如:

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

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

【问题讨论】:

    标签: xrp


    【解决方案1】:

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

    一种方法是创建一个account_tx call,然后遍历元数据。许多(但不是全部)交易将具有 AccountRoot 类型的 ModifiedNode 条目 - 如果该交易更改了帐户的 XRP 余额,您可以看到该条目的 PreviousFieldsFinalFields 的差异。 Look Up Transaction Results tutorial 有一些关于如何以这种方式解析元数据的详细信息。这里有一些棘手的边缘情况:例如,如果您发送的交易在交易所购买了 10 滴 XRP,但作为交易成本烧掉了 10 滴 XRP,那么元数据不会显示余额变化,因为净变化为零(+10,-10)。

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

    【讨论】:

    • 这很有帮助。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    相关资源
    最近更新 更多