Hedera网络交易收据查询失败求助:已查见交易却无收据
排查Hedera交易收据查询失败的问题
常见原因及解决思路
- 交易未完成最终共识确认
Hedera网络中交易上链后需要时间走完共识流程,哪怕你在网络浏览器能看到交易条目,也可能还处于待确认状态。可以调大setMaxAttempts的数值,或者在查询前增加几秒延迟,给交易足够的确认时间。 - Transaction ID格式或实例错误
确认你传入的transactionId是合法的Hedera Transaction ID实例,而非纯字符串。如果是字符串,需要先转换为实例:const transactionId = TransactionId.fromString("你的交易ID字符串"); - 客户端网络配置不匹配
检查this.client配置的网络(主网/测试网/预览网)是否和交易发生的网络一致。比如交易在测试网,但客户端连接主网,就会查询不到收据。 - 先通过交易记录确认状态
部分场景下交易已上链但收据生成有延迟,可以先查询交易记录验证是否存在收据:const record = await new TransactionRecordQuery() .setTransactionId(transactionId) .execute(this.client); console.log(record.receipt); - gRPC超时设置过短
调长setGrpcDeadline的超时时间,避免因网络延迟导致查询超时,被误判为“收据未找到”。
内容的提问来源于stack exchange,提问作者Pathorn Teng
相关产品推荐
相关产品推荐

