Claimable-balances guide says getLedgerEntries finds the Balance ID, but the method needs the ID as input

未关闭 适合新手
#2,998 2 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
1/5
预计耗时
1 小时以内
新手友好度
78/100
Issue 类型
文档
描述清晰度
描述清楚
活跃度
活跃
技术栈
javascript
领域
documentation

调研方向

误导性的句子位于 docs/build/guides/transactions/claimable-balances.mdx 第 366 行附近。请阅读第 170-200 行,该页面已经通过 transaction.getClaimableBalanceId(0) 并从操作结果中获取了 Balance ID。重写这句话,使 getLedgerEntries 读取已知 Balance ID 对应的条目,并回指那些前面的步骤。当这句话不再暗示该方法会查找 ID,且文档可以构建时,即完成。

由索引模型根据 Issue 内容生成。

描述

raven

[!NOTE]
Automated notice: Stellar Raven filed this issue from its automated evaluation pipeline. The issue includes evidence and a public source record. Please verify the live surface before you act.

Finding

The claimable-balances guide says that RPC getLedgerEntries gets the Balance ID. The sample
that follows needs the Balance ID as its input.

getLedgerEntries reads ledger entries by ledger key. A claimable-balance ledger key contains the
Balance ID. The method cannot find a Balance ID from a claimant or from a transaction.

A reader can expect getLedgerEntries to discover the ID and look for a search parameter that
does not exist.

Evidence

The live guide says: "At this point, the ClaimableBalanceEntry exists in the ledger, but we'll
need its Balance ID to claim it. You can call the RPC's getLedgerEntries endpoint to do this."

The JavaScript sample then sets BALANCE_ID to a fixed 72-character hex value with the comment
"Replace with your actual Claimable Balance ID". It parses the ID and builds
xdr.LedgerKey.claimableBalance from it.

Earlier on the same page, the creation sample gets the ID with
transaction.getClaimableBalanceId(0) before submission. It also reads the ID from the
operation result after submission.

Additional recorded evidence:

  • 2026-11-02T17:17:27Z GET https://developers.stellar.org/docs/build/guides/transactions/claimable-balances returned HTTP 200 with "we'll need its Balance ID to claim it. You can call the RPC's getLedgerEntries endpoint to do this."
  • stellar/stellar-docs main 7cb5e8a492706d2ae95bbb14be737fbf96100058 docs/build/guides/transactions/claimable-balances.mdx line 366 carries the sentence; the JavaScript sample that follows starts with "// Replace with your actual Claimable Balance ID" and builds xdr.LedgerKey.claimableBalance from that ID
  • the same page at lines 170-200 already derives the ID before submission with transaction.getClaimableBalanceId(0) and reads it from the operation result
  • golden case q-aas-claim-received-claimable-balances (golden audit pass 2, 2026-11-02) records that RPC getLedgerEntries reads a claimable balance only by a known balance id and has no claimant filter
  • stellar/stellar-docs main 5142b219 docs/data/apis/migrate-from-horizon-to-rpc.mdx lines 46-47 say GET /claimable_balances has "No direct RPC equivalent" and that getLedgerEntries retrieves "a specific claimable balance by ID"
  • the sentence came from stellar/stellar-docs#1784 (merged 2025-09-17), which replaced the earlier "can be done in several ways" text

Recommendation

Change the sentence to say that getLedgerEntries reads the entry for a known Balance ID. Point
to the earlier steps that get the ID from the transaction or the operation result.

Optional: say that RPC has no claimant filter, and that Horizon /claimable_balances?claimant=
lists the balances for a claimant.

Draft PR stellar/stellar-docs#2752 rewrites this sentence as part of a full guide refresh. That PR
is not merged and has merge conflicts with main. The one-sentence fix can land on its own.

Source Record

Raven recorded this finding as sd-061 (stellar-docs, discovered 2026-11-02).

Public source record: improvements/stellar-docs/sd-061-claimable-balance-id-via-getledgerentries.md

Immutable source snapshot: cb9360f3cdfd

Resolution Handoff

When you deploy a fix, link the resolving issue or pull request to the source record.
Then notify Raven through:

https://github.com/stellar-experimental/stellar-raven/issues/new?template=upstream-improvement-ready.yml&title=%5Bupstream-ready%5D%20sd-061%3A%20

Include the finding ID and the resolving issue or pull request.
Include the deployed version or timestamp. Include the smallest live recheck.
Raven verifies the live surface before it sets the finding to fixed-upstream.
An issue closure or merged pull request does not prove the fix.
A separate reviewer repeats the live check before Raven retires the active finding.
Raven keeps a commit-pinned snapshot when one is available.

主要语言
MDX
星标
145
派生
326
平均合并
2 天 18 小时
30 天内合并 PR
109

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

stellar/stellar-docs 的其他 Issue

查看 stellar/stellar-docs 的全部 Issue

相似的 Issue

更多 Documentation Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。