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

如何获取NEAR协议上代币交易的详细信息(如发送金额)

获取NEAR网络代币交易详情的标准方式

要统一获取NEAR上代币的交易金额等核心详情,核心逻辑是基于NEP-141标准代币合约的规范解析——这也是区块浏览器的通用实现方式,具体操作如下:

  • 解析交易actions数组提取核心参数
    NEAR上合规的代币都实现了NEP-141标准,转账交易必然会调用代币合约的ft_transfer或ft_transfer_call方法。通过JSON RPC的tx接口获取交易详情后,在transaction.actions数组中找到对应FunctionCall类型的动作,其中的args字段是Base64编码的参数,解码后就能直接拿到amount(代币最小单位数值)。

    示例解析:
    假设交易详情中某动作的FunctionCall结构如下:

    {
      "FunctionCall": {
        "method_name": "ft_transfer",
        "args": "eyJ0byI6ImtlbHZpbi5uZWFyIiwiYW1vdW50IjoiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIn0=",
        "gas": "30000000000000",
        "deposit": "0"
      }
    }
    

    解码args后得到:

    {"to":"kelvin.near","amount":"100000000000000000000000"}
    

    这里的amount就是代币的最小单位数量。

  • 结合代币元数据转换为可读金额
    拿到最小单位的amount后,调用代币合约的ft_metadata方法获取decimals字段(比如SWEAT的decimals为18),将amount除以10^decimals,就能得到用户可读的代币金额。

  • 补充验证:解析交易执行结果日志
    虽然日志格式没有强制统一,但合规NEP-141代币通常会输出标准化日志(比如Transfer {from: "xxx", to: "xxx", amount: "xxx"}),可以作为参数解析的补充验证,但核心依赖还是actions中的参数——因为日志可能被合约自定义修改。

  • 处理多动作交易
    如果一笔交易包含多个动作(比如同时转账NEAR和代币),只需遍历actions数组,筛选出调用非原生near合约地址的FunctionCall动作,按上述方式解析即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:50:28