概述
使用 RPC 请求获取钱包的 NFT 余额可能是一项麻烦且耗时的任务。使用传统方法(例如eth_call
),需要发出许多请求、进行大量手动数据聚合以及付出大量努力才能获取所需数据。幸运的是,现在有了更好的替代方案:Moralis 的扩展 RPC 方法。
但是我们的扩展 RPC 方法到底是什么?它们如何帮助您仅通过一个 RPC 请求获取 NFT 余额?要找到这些问题的答案,请阅读本文,我们将为您一一解答。让我们直接开始吧!
Moralis 的下一代 RPC 节点 – 获取 NFT 余额的最佳方式
Moralis 是顶级下一代 RPC 节点的知名提供商。借助我们直观的用户界面,您只需单击几个按钮即可为所有主要链设置节点。一些受支持的链包括以太坊、Polygon、BNB 智能链 (BSC)、Optimism 和 Base。
但是为什么您应该选择 Moralis 作为您的节点提供商?
速度:响应时间仅为 70 毫秒,我们为速度设定了行业基准。
可靠性:我们的节点拥有令人印象深刻的 99.9% 的正常运行时间,为您提供顶级的可靠性。
安全:选择 Moralis 作为您值得信赖的 SOC 2 Type 2 合作伙伴来保护您公司的数据。
除了高速、出色的可靠性和企业级安全性之外,Moralis 还提供扩展 RPC 方法。
但它们是什么?它们又是如何工作的?
加入我们的下一部分来找出答案!
扩展的 RPC 方法
我们的扩展 RPC 方法让您能够轻松地通过 RPC 节点获取已解码的、人性化的数据。只需一次调用即可获得 NFT 余额、已解码的交易、代币价格、元数据等。因此,当利用我们的下一代节点时,您可以简化开发人员体验并通过 RPC 样式的请求轻松获取链上数据。
有哪些方法可用?
eth_getNFTBalances
:获取钱包的 NFT 余额。eth_getNFTCollections
:获取钱包里的收藏品。eth_getTransactions
:查询钱包原生交易历史记录。eth_getDecodedTransactions
:获取钱包的完整交易历史记录。eth_getTokenBalances
:获取钱包的 ERC-20 余额。eth_getTokenMetadata
:获取ERC-20代币元数据。eth_getTokenPrice
:了解任何 ERC-20 代币的价格。
总而言之,通过上述方法,您可以毫不费力地使用 RPC 样式的请求获取解码的、人类可读的数据。
eth_getNFTBalances
– 通过一次 RPC 调用获取 NFT 余额的最简单方法
如果您正在寻找一种只需一次 RPC 调用即可轻松获取 NFT 余额的方法,该eth_getNFTBalances
方法是您的首选。此方法提供了指定钱包的 NFT 的完整列表,其中包含元数据、地址、符号、集合数据等。因此,使用 RPC 节点获取钱包的 NFT 余额从未如此简单。
但这究竟是如何工作的?实际的响应是什么样的?要回答这些问题,请继续关注下一节,我们将带您完成一个完整的教程,教您如何仅通过一个 RPC 请求获取钱包的 NFT 余额!
完整教程:通过一次 RPC 调用获取钱包的 NFT 余额
通过我们的扩展 RPC 方法和eth_getNFTBalances
端点,您可以通过三个简单的步骤无缝获取 NFT 余额:
注册 Moralis 并设置一个节点。
编写一个调用的脚本
eth_getNFTBalances
。运行代码。
然而,在我们开始之前,您需要处理一些先决条件。
先决条件
在开始本教程之前,请确保您已准备好以下内容:
Node.js v14+
npm/yarn
步骤 1:注册 Moralis 并设置节点
点击右上角的“免费开始”按钮并注册一个 Moralis 免费帐户:
登录后,进入”节点”选项卡,点击”+ 创建节点”来设置节点:
选择“以太坊”,然后选择“主网”,然后单击“创建节点”:
复制并保留其中一个节点 URL,因为下一步您将需要它:
第 2 步:编写脚本调用eth_getNFTBalances
在集成开发环境 (IDE) 中创建一个文件夹,打开一个新终端,然后运行此命令来初始化新项目:
使用这些终端命令安装所需的依赖项:
打开您的“package.json”文件并添加"type": "module"
到列表中:
新建“index.js”文件,添加以下代码:
替换YOUR_NODE_URL
为您在第一步中复制的 URL,并配置address
参数以适合您的要求:
步骤 3:运行代码
在项目的根文件夹中运行此终端命令来执行脚本:
通过运行脚本,您将收到指定地址拥有的所有代币的数组。响应包含每个元素的元数据、地址、符号、集合数据等。以下是示例响应:
除了如何使用一次 RPC 调用获取 NFT 余额之外,还可以探索其他扩展的 RPC 方法
获取钱包的 NFT 余额只是使用我们的扩展 RPC 方法可以执行的众多操作之一。因此,让我们深入了解其他三种方法:
eth_getTransactions
eth_getDecodedTransactions
eth_getTokenBalances
eth_getTransactions
使用该eth_getTransactions
方法,您现在只需一次调用即可轻松使用 RPC 节点获取钱包交易。这意味着您不再需要处理无休止的请求,从而为您提供更加简化的开发人员体验。以下是显示该方法实际运行的示例:
运行上述脚本后,您将获得钱包过去原生交易的列表。此外,每笔交易都包含时间戳、地址标签、gas 价格等信息。它可能如下所示:
eth_getDecodedTransactions
该方法允许你使用 RPC 节点eth_getDecodedTransactions
轻松获取解码的钱包历史记录。只需一个请求,你就可以无缝获取任何钱包的完整历史记录,包括原生交易、ERC-20 转账、NFT 转账等。以下是展示实际工作原理的 脚本:eth_getDecodedTransactions
执行上述脚本后,您将获得钱包的完整历史记录。此外,每笔交易都包含类别标签、事件摘要、地址标签和其他有用信息。以下是示例响应:
eth_getTokenBalances
使用 Moralis 的eth_getTokenBalances
方法,您可以轻松使用 RPC 节点获取 ERC-20 代币余额。这意味着您不再需要发出多个请求并自行拼凑数据。只需一个请求,您就可以获得所需的所有信息。以下是展示该方法的示例:
调用上述脚本可为您提供指定地址的 ERC-20 代币余额。此外,列表中的所有代币都将添加徽标、小数、垃圾邮件指示器、缩略图等。以下是示例响应:
深入了解 Moralis 的 Web3 API
Moralis 是业界领先的 Web3 数据提供商,除了我们的扩展 RPC 方法外,我们还提供一套全面的 Web3 API,例如 Wallet API、Token API、Streams API 等。借助 Moralis,您可以在一个地方获得所有加密数据。
但是什么使得我们的 Web3 API 如此独特?
一次调用 – 所有数据:我们的 API 以结果为导向,用更少的请求提供更多数据。只需一次调用即可获取代币余额、钱包的完整历史记录、NFT 元数据等。
跨链: Moralis 提供跨主要链的全部功能,包括以太坊、Polygon、Optimism、BSC、Base 等。
安全性和可靠性: Moralis 已通过 SOC 2 Type 2 认证,彰显了我们致力于提供企业级安全性和可靠性的承诺。
要了解有关我们领先的开发工具套件的更多信息,让我们深入了解我们的三个突出的 API!
钱包 API
如果您想要构建钱包或将钱包功能集成到您的 dapp 中,Moralis 的 Wallet API 是终极工具。借助此一流界面,您可以轻松获得钱包的完整历史记录、代币余额、NFT 余额、净值、盈利能力等。
为了突出此工具的强大功能,让我们来看看我们的一个端点的实际运行情况。例如,获取钱包净值是多么容易:
作为调用上述脚本的回报,您将获得指定钱包的总净值以及各个链的明细。以下是示例响应:
因此,如果您正在寻找令人印象深刻的功能、顶级灵活性和无与伦比的可扩展性,请务必查看 Wallet API!
代币 API
Token API 是您获取 ERC-20 数据的首选工具。这个一流的界面涵盖了所有最大链上的所有代币,包括稳定币(如 USDC)、表情包币(如 Shiba Inu)以及介于两者之间的所有代币。
使用 Token API,您可以无缝获取代币余额、价格、转账、元数据等。为了展示此工具的可访问性,这里有一个示例脚本,向您展示获取代币价格是多么容易:
作为调用上述脚本的回报,您将获得以本国货币和美元计价的代币价格。它可能如下所示:
如果您希望构建 DEX、代币浏览器或其他类似项目的平台,请务必开始使用代币 API!
NFT API
Moralis 的 NFT API 是 NFT 数据的终极接口,涵盖超过 300 万个 NFT 集合,并涵盖所有主要链,包括以太坊、Polygon、BSC、Base 等。有了这个一流的界面,你只需要几行代码就可以获得 NFT 余额、元数据、价格等。
为了凸显此工具的强大功能,请查看下面的示例脚本,向您展示获取 NFT 元数据是多么容易:
作为执行上述代码的回报,您将获得指定 NFT 的元数据,其中包含地址、收藏数据、稀有性指标等。它可能看起来像这样:
使用 NFT API,您可以将 NFT 数据无缝集成到您的 NFT 市场、Web3 游戏或其他需要此信息的平台!