ERC20 代币余额是大多数区块链应用程序(包括钱包、去中心化交易所 (DEX)、投资组合追踪器和 Web3 分析工具)的一个基本方面。因此,无论您正在构建什么去中心化应用程序 (dapp),您都可能需要能够轻松获取地址的 ERC20 代币余额。但是,如果没有适当的开发工具,查询和处理这些数据是一项繁琐且耗时的任务。幸运的是,您现在可以利用 Moralis Token API 来避免这些具有挑战性的部分,从而立即获取地址的 ERC20 代币余额!
在今天的文章中,我们将从基础开始,简要介绍什么是代币余额。从那里,我们还将探索 ERC20,因为这是可替代代币最流行的标准。接下来,我们将直接进入教程,向您展示如何使用 Moralis Token API 无缝获取地址的 ERC20 代币余额。最重要的是,我们还将向您展示如何使用 Token API 获取 ERC20 代币的消费限额!
因此,如果您想访问业界领先的 Web3 API,请记得注册 Moralis,这样您就可以开始利用区块链技术的真正力量!
什么是代币余额?
代币余额是指账户或钱包持有的特定加密货币的数量。在加密世界中,有两种主要的可替代代币类型:原生代币和非原生代币。让我们更深入地了解一下:
原生代币:原生代币是区块链网络的基础加密货币。所有独立的区块链都有自己的原生代币。它们在各自的生态系统中具有很多实用性。例如,原生代币通常用于奖励验证者/矿工并支付交易费用。一个突出的例子是 ETH,它是以太坊网络的原生代币。
非原生代币:非原生代币是在现有网络(例如以太坊)上使用智能合约创建的。这些代币通常由 Web3 项目创建,仅在其自身边界内使用。非原生代币的示例包括 DAI、USDT 和 USDC。
因此,在谈论代币余额时,我们通常指的是账户或钱包持有的特定原生或非原生代币的数量。此外,尽管有各种类型的可替代代币,但它们大多遵循 ERC20 代币标准。但这到底是什么意思?ERC20 如何运作?
什么是 ERC20?
ERC20(以太坊征求意见 20)是以太坊区块链和其他 EVM 兼容网络上的智能合约的技术标准。此标准定义了代币必须实现的一组规则、功能和事件,才能被视为符合 ERC-20 标准。
ERC20 代币标准中概述的功能和事件为所有代币提供了通用接口,以便轻松访问、识别和使用它们。例如,其中一项功能是balanceOf()
,确保可以无缝获取用户的任何 ERC20 代币的余额。
尽管如此,这个标准接口确保了一个统一的生态系统,其中所有代币都相互兼容,以及去中心化应用程序 (dapps) 和其他 Web3 项目。一些著名的 ERC20 代币包括 ETH、USDC、USDT、SHIB 等!
此外,虽然 ERC20 是最流行和使用最广泛的代币标准,但它远非唯一标准。另外两个标准是 ERC721 和 ERC1155,用于规范以太坊区块链上的 NFT。
不过,既然您现在对 ERC20 的含义有了更好的了解,让我们直接进入教程并向您展示如何获取钱包的 ERC20 代币余额!
教程:如何获取地址的 ERC20 代币余额
获取用户 ERC20 代币余额的最佳和最直接的方法是利用 Moralis Token API。此 API 提供实时 ERC20 代币数据,让您只需一行代码即可获取价格、转账,当然还有余额!
该 API 还兼容跨链,支持十多个 EVM 链,包括以太坊、BNB 智能链、Polygon 等。因此,使用 Moralis,构建加密钱包、投资组合跟踪器或 Web3 代币分析工具从未如此简单!
尽管如此,为了突出此工具的可访问性,我们将通过以下部分向您展示如何通过三个简单的步骤获取用户的 ERC20 代币余额:
获取 API 密钥
编写脚本
运行代码
但是在我们进入本教程的第一步之前,您必须注意一些先决条件!
先决条件
在本教程中,我们将展示如何使用 JavaScript 获取用户的 ERC20 代币余额。但是,如果您愿意,也可以使用 TypeScript 和 Python。但如果是这种情况,请注意本教程中概述的步骤可能会略有不同。
不过,在开始之前,您需要准备好以下物品:
Node v.14+
NPM/纱线
从这里开始,您需要安装 Moralis SDK。为此,请在集成开发环境 (IDE) 中设置一个新项目,然后在项目的根文件夹中运行以下终端命令:
就是这样;您现在可以进入本教程的第一步,了解如何获取用户的 ERC20 代币余额!
步骤 1:获取 API 密钥
您首先需要一个 Moralis API 密钥,这是调用 Token API 所必需的。幸运的是,您可以免费获取 API 密钥。您所要做的就是通过单击 Moralis 主页右上角的“免费开始”按钮注册 Moralis:
完成帐户和第一个项目的设置后,您可以通过导航到“设置”选项卡找到密钥。从那里,您只需向下滚动并复制您的 Moralis API 密钥:
保存密钥,因为下一步您将需要它!
第 2 步:编写脚本
有了 Moralis API 密钥,您就可以开始编码了。因此,在项目的根文件夹中设置一个新的“index.js”文件并添加以下代码:
这是获取用户 ERC20 代币余额所需的全部代码。不过,在运行脚本之前,您需要进行一些小配置。
首先,YOUR_API_KEY
用上一步复制的密钥替换:
接下来,您需要配置address
和chain
参数以满足您的要求。对于address
const,添加您想要从中获取 ERC20 代币余额的钱包地址。对于chain
,如果您希望查询以太坊以外的区块链,您可以切换网络:
从那里,我们在调用端点时传递参数getWalletTokenBalances()
:
就是这样;这就是获取用户 ERC20 代币余额所需的全部代码。接下来只需运行脚本!
步骤 3:运行代码
要运行脚本,只需打开终端,cd
进入项目的根文件夹,然后执行以下命令:
作为回报,您将收到一个响应,其中包含 ERC20 代币数组以及每种加密货币的余额。以下是它可能的样子:
从这里,您现在可以轻松地将 ERC20 代币余额数据集成到您的项目中!
如何获取 ERC20 代币的消费限额
除了获取用户的 ERC20 代币余额外,Moralis Token API 还允许您查询 ERC20 代币的消费限额。但消费限额到底是什么?
ERC20 代币限额是指允许消费者代表所有者提取的金额。这在与 Uniswap 等 dapp 交互时很常见,它赋予平台转移您钱包中持有的代币的权利。
那么,如何获得 ERC20 代币的消费者限额呢?
好吧,得益于 Moralis Token API 的可访问性,您可以按照“教程:如何获取 ERC20 Token 余额…… ”部分中的相同步骤进行操作。唯一的区别是您需要调用getTokenAllowance()
端点而不是getWalletTokenBalances()
。
因此,如果您想获得 ERC20 代币的消费者限额,只需用以下代码替换“index.js”文件中的内容:
从这里开始,您需要通过替换以下内容来添加 API 密钥YOUR_API_KEY
:
接下来,您必须配置参数,您很快就会注意到,这次还有更多参数。对于address
参数,您需要添加代币地址。对于ownerAddress
,添加代币所有者的地址。对于spenderAddress
,添加代币花费者的地址:
然后我们在调用端点时传递这些参数getTokenAllowance()
:
运行代码后,您将收到类似如下的响应:
就是这样!使用 Moralis 时,获取 ERC20 代币的消费限额就是这么简单!