如果你决定深入研究今天的主题,你将首先了解有关 ERC20 代币的所有知识。我们还将提到一些其他 ERC 代币标准,并快速将它们与 ERC20 进行比较。接下来,我们将探索获取 ERC20 代币余额的终极工具。在这里,你将有机会熟悉 Moralis 和这个终极 Web3 API 提供商的Token API。毕竟,后者是提供上面提供的“ getWalletTokenBalances ”端点的工具箱。此外,我们还将仔细研究这个端点,并向你展示如何自己更详细地探索它。
此外,您还将了解如何获取包含此端点的代码行,用于您最喜欢的传统编程语言/框架。最后但并非最不重要的是,我们将带您完成一个简单的三步教程,教您如何使用 JavaScript 获取任何钱包地址的 ERC20 余额。
探索 ERC20
除非您是加密领域的新手,否则您知道有很多加密代币或加密货币可用。然而,许多人不知道这些代币中的大多数都是在以太坊之上创建的,遵循 ERC20 标准。那么,什么是 ERC20?
ERC20,即“以太坊征求意见 20”,由 Fabian Vogelsteller 于 2015 年 11 月提出。社区接受了它;反过来,开发人员将其付诸实施,确保在以太坊上创建的所有代币都具有相同的基本品质。基本上,所有 ERC20 代币都遵循以太坊硬币(原生代币)的具体规定。此外,使用相同智能合约铸造(创建)的所有 ERC20 代币始终具有相同的特征并且完全可互换(可替代)。
很多时候,Web3 开发者将 ERC20 标准称为“ERC20 合约”。这是因为智能合约用于实现此标准。每当有人决定创建 ERC20 代币时,都必须使用包含 ERC20 标准的智能合约。此外,用于铸造代币的智能合约确保与这些代币相关的所有转移都遵循预定义的规则。因此,可以肯定地说,ERC20 合约标准在创建和处理 ERC20 代币时施加了适当的规则。因此,合约还确保 ERC20 代币的每一笔余额都遵守代币的代币经济学。此外,这些规则使开发人员能够准确预测他们的新 ERC20 代币将如何在以太坊生态系统中发挥作用。而且,由于智能合约的自动化特性,这些规则会自动实施。
一些最受欢迎的 ERC20 代币包括“基本注意力代币”(BAT)、“Maker”(MKR)、“OMG 网络”(OMG)和“Augur”(REP)。
ERC20 规则和指南
每个 ERC20 智能合约的两个核心信息是其区块链地址和其管理的 ERC20 代币的总供应量。除了这两个必需参数之外,ERC20 智能合约还可能包含其他可选组件。最终,以下是 ERC20 代币的参数:
合同地址(必填)
代币总供应量(必需)
代币名称(可选)
代币符号(股票代码 [可选])
令牌的小数位数(可选)
注意:当我们向您展示如何获取 ERC20 代币余额时,您将能够在终端中看到上述组件。此外,如果您想进一步探索上面列出的 ERC20 合约参数,请查看我们的“探索 ERC-20 代币标准”文章。
ERC20 与其他以太坊标准
上述细节足以创建杀手级 dapp,获取钱包地址的 ERC20 余额。但是,了解其他以太坊代币标准也很重要。例如,您可能听说过ERC721和ERC1155代币。毕竟,这是不可替代代币 (NFT) 的两个主要标准。因此,这些智能合约包含不同的组件——有助于确保唯一性的组件。
另外两个流行的以太坊标准包括 ERC223 和 ERC777。前者是 ERC20 协议的协议升级,允许用户更安全地将代币传输到数字钱包。另一方面,同质化代币的 ERC777 标准侧重于确保与现有去中心化交易所的互操作性。它与以太坊的区块链协议有关,该协议定义了可与 ETH 互操作的代币类型。
此外,还有其他几种代币标准(例如 ERC677)管理着流行的 LINK 代币。此外,如前所述,为了创建获得 ERC20 钱包余额的杀手级 dapp,您无需深入研究这些标准。但是,如果您决定在以太坊上铸造自己的代币,请务必更仔细地研究所有可用的标准。
获取 ERC20 代币余额的终极工具
除非你一直生活在与世隔绝的地方,否则你很可能知道 Moralis 是 Web2-Web3 的桥梁,它使你能够使用传统的开发平台和框架加入 Web3 革命。除了跨平台互操作性之外,Moralis 还支持所有领先的可编程区块链。因此,你可以在几分钟内在以太坊、所有领先的 EVM 兼容链甚至 Solana 上创建 dapp。此外,这种跨链互操作性还可以为你的工作提供未来保障,因为你永远不会被困在任何特定的链上。
Moralis 提供了多种产品,包括终极Web3 Auth API、NFT API、Streams API和 Token API。虽然您在开始创建更高级的 dapp 时会希望使用所有这些工具,但 Moralis Token API 可让您轻松获得钱包的 ERC20 余额。因此,我们将在此重点介绍后者。
Moralis 的代币 API 可让您轻松将实时代币数据集成到您的应用程序中。此外,它使您能够完全访问所有主要区块链上的代币价格、所有权和转移数据。当然,它还允许您获取所有受支持链上的钱包的 ERC20 余额。
“ getWalletTokenBalances ” 端点
现在,您知道可以通过“ getWalletTokenBalances ”端点获取钱包的代币余额。因此,让我们一起看看端点的通过钱包获取余额文档页面:
查看上面的截图,你可以看到这个端点接收了“ address ”参数,这也是唯一必需的参数。毕竟,端点需要知道在获取代币余额时要关注哪个地址。此外,“ getWalletTokenBalances ”还包括一些可选参数。这些参数如下:
“ chain ” – 要查询的链。
“子域” – 选择本地开发/测试链时使用。
“ to_block ” – 检查过去区块的余额。
“ token_addresses ” – 将结果过滤为特定的地址列表。
您可以使用上面提供的文档页面来测试端点。您需要做的就是粘贴您想要查询的地址并点击“尝试一下!”按钮。此外,通过使用上述页面的右上角,您可以选择要使用的编程语言。然后,您只需从“请求”部分复制代码片段并将其粘贴到您的脚本中即可。
如何使用 Moralis 获取 ERC20 余额
现在您知道了获取 ERC20 代币余额的终极工具是什么,是时候撸起袖子跟随我们的脚步了。但是,在我们带您完成这三步流程之前,请确保完成以下先决条件:
安装 Node v.14 或更高版本。
准备您最喜欢的代码编辑器或 IDE。我们倾向于使用 Visual Studio Code (VSC)。
安装您最喜欢的包管理器(“ npm ”,“ yarn ”或“ pnpm ”)。
步骤 1:Moralis 设置
安装 Moralis SDK 并获取 Web3 API 密钥后,ERC20 代币的任何余额都将由您支配。因此,请确保创建免费的 Moralis 帐户以访问您的管理区域。 启动并运行帐户并进入 Moralis 管理区域后,请完成以下两个步骤,如图所示:
暂时保留您的 API 密钥,并专注于在您的项目中安装 Moralis SDK。幸运的是,您只需要运行正确的命令即可完成此操作。因此,请使用以下命令之一(取决于您使用的包管理器):
步骤 2:获取 ERC20 代币余额的示例脚本
现在您已成功安装了 Moralis SDK,是时候使用正确的代码行来获取可替代代币的余额了。但是,您不需要从头开始编写脚本;相反,您只需将以下代码行复制并粘贴到“index.js”文件中即可:
注意:以上代码行重点介绍如何使用 JavaScript。但是,您可能希望使用 TypeScript。在这种情况下,请访问“如何获取地址拥有的所有 ERC20 代币”文档页面并选择“index.ts”。
查看上面的示例脚本,您可以看到“ EvmChain.ETHEREUM ”。后者定义了链。因此,如果您要获取其他受支持的链上的代币余额,则需要相应地替换“ ETHEREUM ”。
尽管如此,“ YOUR_API_KEY ”占位符指示您需要粘贴 Moralis Web3 API 密钥的位置:
步骤3:执行程序获取钱包的ERC20余额
如果您按照我们的提示正确操作,那么您现在已经准备好了自己的“索引”文件并配备了 Web3 API 密钥。这样,您就可以执行该程序了。通过执行此操作,您将能够看到上面使用的“ 0xd8da6bf26964af9d7eed9e03e53415d37aa96045 ”地址的 ERC20 代币余额。当然,您可以随意将此地址替换为任何其他地址。
要执行该程序,您需要运行以下命令之一:
对于 JavaScript:
对于 TypeScript:
运行适当的命令后,您应该在终端中看到以下结果:
尽管如此,为了正确使用“ getWalletTokenBalances ”端点,请尝试对其他地址和链运行上述脚本。此外,请随意尝试使用此端点的其他可选参数(前面介绍过)。