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

使用Node.js从Solscan API提取交易数据时遇forEach未定义错误

解决方法

1. 修复API请求URL的语法错误

你的代码里URL末尾多了转义的双引号%22,导致请求地址无效,服务器返回的数据结构不符合预期,最终response.data.result为undefined。把URL里的%22删掉即可:

const response = await axios.get("https://public-api.solscan.io/transaction/last?limit=10");

2. 增加数据存在性校验

即使URL修复,也可能因为API返回异常导致transactions为undefined,所以在调用forEach前必须先判断数据有效性,避免报错:

if (transactions && Array.isArray(transactions)) {
  transactions.forEach((transaction) => {
    // 交易数据打印逻辑
  });
} else {
  console.log("未获取到有效交易数据");
}

3. 修正Solana交易字段的错误

Solana交易体系里没有ETH单位,且你写的部分字段名与Solscan API返回的实际字段不符:

  • transactionHash → 实际字段为txHash
  • fromAddress → 实际字段为sender
  • value → Solana最小单位是lamport,1 SOL = 1e9 lamports,需要做单位转换
  • 没有直接的toAddress字段,Solana交易基于账户模型,可根据需求查看tokenTransfers(代币交易)或其他关联账户信息

修正后的打印逻辑示例:

transactions.forEach((transaction) => {
  console.log(`Transaction Hash: ${transaction.txHash}`);
  console.log(`Block Number: ${transaction.block}`);
  console.log(`Sender Address: ${transaction.sender}`);
  const solValue = transaction.lamports / 1e9;
  console.log(`Value: ${solValue} SOL`);
  console.log("-------------------------------");
});

完整修正后的代码

const axios = require("axios");

async function parseTransactionData() {
  try {
    const response = await axios.get("https://public-api.solscan.io/transaction/last?limit=10");
    const transactions = response.data.result;

    if (transactions && Array.isArray(transactions)) {
      transactions.forEach((transaction) => {
        console.log(`Transaction Hash: ${transaction.txHash}`);
        console.log(`Block Number: ${transaction.block}`);
        console.log(`Sender Address: ${transaction.sender}`);
        const solValue = transaction.lamports / 1e9;
        console.log(`Value: ${solValue} SOL`);
        console.log("-------------------------------");
      });
    } else {
      console.log("未获取到有效交易数据");
    }
  } catch (error) {
    console.error("请求错误:", error.message);
  }
}

parseTransactionData();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:40:42