You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Blockfrost.io API获取Cardano交易的收发地址等核心信息?

解决Blockfrost API获取Cardano交易收发地址的问题

你用的txs/{hash}接口本身确实不会直接返回from/to地址——这是因为Cardano采用UTXO模型,交易没有传统意义上的“转出/转入地址”字段,得通过交易的输入输出UTXO来推导。下面是具体的获取方法:

1. 手续费(Fees)

这个很简单,txs/{hash}接口返回的fees字段就是手续费,单位是lovelace(1 ADA = 1e6 lovelace),直接提取即可。

2. 转出地址(Address from)

交易的inputs是被消耗的UTXO列表,每个UTXO都属于某个地址(也就是转出方)。你需要:

  • 调用txs/{hash}/utxos接口,或者对每个输入的transaction_hash和index,单独调用utxos/{tx_hash}/{index}接口,获取该UTXO的address字段。
  • 收集所有这些地址(去重后就是转出方地址列表)——因为一个交易可能有多个转出方(比如合并多个UTXO)。

3. 转入地址(Address to)

交易的outputs里的address字段是所有接收地址,但其中包含找零地址(属于转出方的地址,用来接收未花完的余额),需要过滤掉:

  • 先拿到所有转出地址列表(步骤2的结果)
  • 遍历outputs里的每个address,排除掉在转出地址列表里的地址,剩下的就是实际转入地址。

4. 转移资产(类型+数量)

同样从outputs里提取,但要排除找零部分:

  • 对每个非找零的output,提取amount数组里的内容:
    • ADA的资产类型是lovelace,数量直接对应;
    • 原生代币的类型是policy_id.asset_name(比如618417d7471112e637f99a016a0ded7a703380a59ed4e581aeb4e053.myasset),数量是对应的数值。
  • 把这些资产汇总,就是实际转移的资产。

另外要注意:如果是涉及脚本地址的交易(比如合约交互),逻辑会更复杂,但普通用户转账的场景按上面的方法就能搞定。

内容的提问来源于stack exchange,提问作者AGuismo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 16:25:21