以太坊链上数据获取全指南:代币、NFT、交易与行情一站式抓取

·

关键词:ETH API、链上数据、dApp、NFT、ETH价格、Moralis、钱包接口、实时流

如果你想在 5 分钟内学会如何快速抓取以太坊上的代币余额、交易哈希、NFT 元数据、最新 Floor Price 等在内的全维度数据,本指南可以直接跑通。全文以开源视角拆解最实用的 ETH API 调用套路,帮你把复杂的基础设施封装成 3 行代码即可复用的工具。


什么是 ETH API?

ETH API(以太坊接口) 不是某个具体公司独家提供的 SDK,而是一整套 HTTP、WebSocket 与 ABCI 协议的“积木”。开发者只需调用约定好的端点,就能从任何节点拉出原生账户余额、历史转账、NFT 转移、实时价格、合约元数据等信息。

与传统自建节点相比:

简而言之,ETH API 降低了 Web3 入门门槛,让你把精力全部聚焦在产品迭代与用户体验上。


三大类接口全景地图

类别解决场景典型方法
钱包 API查看用户资产、交易历史、代币持仓getNativeBalance / getWalletTokenBalances
NFT API获取 NFT 元数据、最低挂单、转账记录getNFTMetadata / getNFTLowestPrice
流 API实时监听转账、新块、行情变化用 Webhook 推送到后端

下面逐一拆解可信、可跑的示例代码。


钱包 API:一键读取用户资产

核心方法只记住 3 个:

  1. getNativeBalance 查以太币
  2. getWalletTokenBalances 查 RC-20 代币
  3. getWalletNFTs 查钱包里全部 NFT
// 1. 原生余额
const ethBal = await Moralis.EvmApi.balance.getNativeBalance({
  chain: '0x1',
  address: '0xDC2...'
});

// 2. 代币持仓
const tokenBal = await Moralis.EvmApi.token.getWalletTokenBalances({
  chain: '0x1',
  address: '0x1f9...'
});

// 3. NFT 持仓
const nftList = await Moralis.EvmApi.nft.getWalletNFTs({
  chain: '0x1',
  address: '0xff3...'
});

支持主网 + 所有 EVM 兼容链,单次可查询 5 亿+ 地址。


NFT API:3 秒拉取元数据 & Floor Price

当你想在网页里展示某只 CryptoPunksAzuki 的图片、名称及最低价,只需两步:

// 1. 元数据
const meta = await Moralis.EvmApi.nft.getNFTMetadata({
  chain: '0x1',
  address: '0xb47...', // CryptoPunks
  tokenId: '1'
});

// 2. 最低挂单
const floor = await Moralis.EvmApi.nft.getNFTLowestPrice({
  chain: '0x1',
  address: '0xBC4...' // Azuki
});

👉 一分钟上手最完整的 NFT 数据抓取模板

亮点功能:


流 API:实时把链上事件推到你的服务器

无需自建节点订阅事件,开 3 个开关即可:

  1. 选链 & 事件类型(Transfer、Mint、Listing…)。
  2. 填写你的 Webhook URL。
  3. 添加需监控的地址。
{
  "webhookUrl": "https://your.site/webhook",
  "chainIds": ["0x1"],
  "events": ["NFT_TRANSFER"],
  "addresses": ["0x1f90...", "0xff3..."]
}

当目标地址产生 NFT 转账时,后端 200 ms 内就能拿到推送数据。


三步入门实践:从安装到跑通

前置条件

Step 1:拿到 API Key

注册 Moralis → Settings → API Keys → 复制 key。

Step 2:写脚本

npm install moralis @moralisweb3/common-evm-utils

index.js

const Moralis = require("moralis").default;
const { EvmChain } = require("@moralisweb3/common-evm-utils");

(async () => {
  await Moralis.start({
    apiKey: "你的key"
  });

  const address = "0x26f...";
  const res = await Moralis.EvmApi.balance.getNativeBalance({
    address,
    chain: EvmChain.ETHEREUM
  });

  console.log(res.toJSON());
})();

Step 3:跑起来

node index.js

终端会返回:

{"balance":"50930089151337467803762"}

单位默认为 wei(1 ETH = 10^18 wei),你可以再做转换展示。

👉 用这个运行顺畅的脚本,直接部署到服务器吧!


FAQ:一站式 QA 稳住开发节奏

Q1:免费额度够测多久?
A:官方每日 1,000 次调用,足以开发完整 MVP。上线后按需付费即可,千次查询 < $0.01。

Q2:能抓历史区块多久的数据?
A:从创世块 0 开始全覆盖,无时间限制。

Q3:NFT API 会不会返回假图、钓鱼合集?
A:内置黑名单和二次验证模型,过滤率 ≥ 95%。你也可以手动添加白/黑名单。

Q4:支持 Solana、BTC 吗?
A:当前集中 EVM 链。如需 Solana 数据,可用同系列的 SolAPI。

Q5:返回值太慢怎么办?
A:默认走全球边缘 CDN。如仍超时,可在初始化中加 moralis.start({ uri: 'your.region.moralis.io' }) 指定近端节点。

Q6:Moralis 之外的替代方案?
A:Alchemy、Infura、QuickNode 皆提供类似 REST 端点。挑选时重点对比延迟、并发限制、价格模型与 NFT 功能完善度即可。


扩展:4 个真正把数据变“好看”的落地场景

1. Web3 资产仪表盘

把实时 钱包 API价格 API 聚合,一键展示多链资产净值 USD。再利用 流 API 动效刷新,投资者秒懂收益曲线。

2. NFT 抢购机器人

监听 getNFTLowestPrice < 阈值即刻自动挂单买入。流 API 收到成交事件后发送 TG/推特推送。

3. 链游战绩排行榜

调用 getWalletNFTs 判断稀有度、使用 tokenId 换取图片并做链上合法性校验,保证榜单公平。

4. CeFi 充提风控

用户申请提现时,实时抓取目标地址三天交易、黑名单交互记录,自动打分决定风控策略。


小结

从一行查询余额,到百万级 NFT 合集元数据实时同步,ETH API 已经帮你挡下了「节点同步、解码 ABI、并发控制」所有脏活。
现在轮到你把:

这三把利刃,装进自己的产品里,开始真正面向用户的战斗吧!