关键词:ETH API、链上数据、dApp、NFT、ETH价格、Moralis、钱包接口、实时流
如果你想在 5 分钟内学会如何快速抓取以太坊上的代币余额、交易哈希、NFT 元数据、最新 Floor Price 等在内的全维度数据,本指南可以直接跑通。全文以开源视角拆解最实用的 ETH API 调用套路,帮你把复杂的基础设施封装成 3 行代码即可复用的工具。
什么是 ETH API?
ETH API(以太坊接口) 不是某个具体公司独家提供的 SDK,而是一整套 HTTP、WebSocket 与 ABCI 协议的“积木”。开发者只需调用约定好的端点,就能从任何节点拉出原生账户余额、历史转账、NFT 转移、实时价格、合约元数据等信息。
与传统自建节点相比:
- ✅ 省时:省去同步区块、索引数据等重活。
- ✅ 省钱:高并发调用按量计费,弹性伸缩。
- ✅ 易用:几行 JavaScript 即可对接。
简而言之,ETH API 降低了 Web3 入门门槛,让你把精力全部聚焦在产品迭代与用户体验上。
三大类接口全景地图
| 类别 | 解决场景 | 典型方法 |
|---|---|---|
| 钱包 API | 查看用户资产、交易历史、代币持仓 | getNativeBalance / getWalletTokenBalances |
| NFT API | 获取 NFT 元数据、最低挂单、转账记录 | getNFTMetadata / getNFTLowestPrice |
| 流 API | 实时监听转账、新块、行情变化 | 用 Webhook 推送到后端 |
下面逐一拆解可信、可跑的示例代码。
钱包 API:一键读取用户资产
核心方法只记住 3 个:
getNativeBalance查以太币getWalletTokenBalances查 RC-20 代币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
当你想在网页里展示某只 CryptoPunks 或 Azuki 的图片、名称及最低价,只需两步:
// 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 检测
- 自动生成优化后的海报图 CDN URL
- 支持跨链 3M+ 合集
流 API:实时把链上事件推到你的服务器
无需自建节点订阅事件,开 3 个开关即可:
- 选链 & 事件类型(Transfer、Mint、Listing…)。
- 填写你的 Webhook URL。
- 添加需监控的地址。
{
"webhookUrl": "https://your.site/webhook",
"chainIds": ["0x1"],
"events": ["NFT_TRANSFER"],
"addresses": ["0x1f90...", "0xff3..."]
}当目标地址产生 NFT 转账时,后端 200 ms 内就能拿到推送数据。
三步入门实践:从安装到跑通
前置条件
- Node.js ≥ v14
- npm / yarn
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、并发控制」所有脏活。
现在轮到你把:
- 钱包资产管理
- NFT 市场分析
- 链上告警
这三把利刃,装进自己的产品里,开始真正面向用户的战斗吧!