概述
下面,您可以找到两个主要部分:“教程:使用简单的后端脚本获取 Solana 上的代币余额”和“使用我们的示例 Dapp 获取 Solana 上的任何代币余额”。第一个是我们的三步教程,演示如何使用 JavaScript、TypeScript 或 Python 以最少的麻烦获取 SPL 代币余额。
这三个步骤如下:
Moralis 设置– 在这里,我们查看可用于设置 Moralis SDK 的各种命令。
获取地址的 SPL 代币余额– 本节介绍参数及其各自的选项,无论您是想关注主网还是开发网。此外,我们还将介绍如何使用 JavaScript、TypeScript 和 Python 获取代币余额。
运行您的脚本——在此部分中,您最终可以运行脚本来获取特定 Solana 地址的代币余额。
另一方面,第二部分重点介绍围绕主要端点的示例项目。此示例项目使用与本教程中介绍的相同原理,但还包含一个简单的 HTML 前端。后者使您能够getSPL
在浏览器中体验端点的强大功能。
教程:使用简单的后端脚本获取 Solana 上的代币余额
在进入本教程的第一步之前,请确保满足以下先决条件:
如果您希望使用 JavaScript 或 TypeScript 在 Solana 上获取代币余额,请下载并安装 NodeJS v.14 或更高版本。如果您喜欢使用该语言,也可以安装 Python。
安装您最喜欢的包管理器(NPM、Yarn 或 PIP)。
确保你已准备好可靠的代码编辑器。我们更喜欢使用 Visual Studio Code (VSC)。
满足上述先决条件后,您就可以开始本教程的第一步了。
步骤 1:Moralis 设置
如果您尚未创建 Moralis 帐户,请立即创建。只需一个免费帐户即可完成本教程并访问所有 Moralis API 端点。但是,如果您认真对待 Web3 开发并希望构建能够轻松支持大量流量的 dapp,则应该购买 Moralis Pro、Business 或 Enterprise 计划。
现在您已准备好 Moralis 帐户,您可以访问您的管理区域。在这里,您可以访问“Web3 API”页面并复制您的 API 密钥:
注意:现在,请保留您的 API 密钥 - 我们将在第二步告诉您将其粘贴到何处。
要使用 Moralis,您还需要安装 Moralis SDK。因此,请使用与您的包管理器匹配的以下命令之一:
新版本:
纱:
画中画:
第 2 步:获取地址的 SPL 代币余额
此时,您已经知道在 Solana 上获取代币余额的最简单方法是使用getSPL
端点。如简介中的代码片段所示,此端点接受两个参数:network
和address
。第一个有两个选项:mainnet
或devnet
– 第二个接受任何 Solana 地址。因此,为了本教程的目的,您可以决定专注于 Solana 主网或开发网:
注意:如果您不熟悉Solana devnet,我们鼓励您使用该链接来获取有关该网络的一些经验。
至于 Solana 地址,我们建议使用您的 Solana 钱包地址。当然,您可以随意使用我们在即将发布的脚本中提供的示例地址。接下来,我们将引导您完成我们的 JavaScript 和 Python 脚本。TS 脚本与 JavaScript 脚本非常相似。因此,我们将仅为您提供最终代码。
注意:您可以通过访问“通过钱包获取代币余额” API 参考页面来探索“getSPL”端点的详细信息,甚至尝试一下。
使用 JavaScript 获取 SPL 代币余额
创建一个新的“ index.js ”文件并首先导入moralis
:sol-utils
接下来,创建一个runApp
异步函数。在其顶部,初始化 Moralis:
查看上面的代码片段,您可以看到YOUR_API_KEY
占位符。 确保将其替换为上面获得的 API 密钥。
注意:创建可用于生产的 dapp 时,您需要使用“.env”文件来存储 API 密钥和其他环境变量。在这种情况下,您可以将上面的apiKey
行替换为apiKey: process.env.MORALIS_API_KEY
。您可以在顶部的视频(3:00)中了解更多信息。
在 中runApp
,还需要定义address
和network
参数:
您可以随意将上述地址替换为您想要的任何 Solana 地址。此外,如果您希望专注于后者,也可以替换MAINNET
为。通过这样做,您可以期待从经过审查的Solana 测试网水龙头DEVNET
获得的免费测试网资产交易。
最后,您需要实现Moralis.SolApi.account.getSPL
介绍中的方法。在该方法下,您还需要以 JSON 格式控制台记录响应并运行该runApp
函数:
因此,这是让你在 Solana 上获取代币余额的完整 JS 脚本:
使用 TypeScript 获取 SPL 代币余额
以下是上述脚本的完整 TypeScript 版本(唯一的区别在于它如何导入 Moralis [前两行])。因此,将其粘贴到新的“ index.ts ”脚本中:
使用 Python 获取 SPL 代币余额
如果你决定使用 Python 获取 Solana 上的代币余额,请创建一个新的“ index.py ”文件并首先导入 Moralis:
接下来,定义api_key
变量和两个端点参数:
最后,调用该sol_api.account.get_spl
方法并将其分配给results
。另外,您还想返回结果:
将以上所有代码片段放在一起后,您将获得以下 Python 脚本:
步骤 3:运行脚本
此时,您应该已经准备好上述脚本之一。因此,是时候运行您的脚本并获取您使用的地址在 Solana 上的代币余额了。因此,根据编程语言,使用匹配的命令:
JavaScript的:
打字稿:
Python:
运行上述命令之一后,查看终端的响应。以下是 Solana 主网上的示例地址的 JSON 响应:
使用我们的示例 Dapp 获取 Solana 上的任何代币余额
上面的截图展示了我们示例 dapp 的前端,它具有与上面展示的类似的后端。您可以看到我们的前端有一个输入字段,用户可以在其中粘贴任何 Solana 钱包地址。它还允许用户选择是否要关注 Solana 主网或开发网。有了地址并选择了网络后(如果您还记得上面的教程,getSPL
端点将这两个参数作为输入),用户可以单击“获取代币余额”按钮来查看结果:
查看上图,您可以看到结果的格式与上述教程相同。因此,它们包括以下五个细节:
associatedTokenAddress
– Solana 分类账中的一条记录,其中保存着相关代币的数据或可执行程序(例如,Solana 智能合约)。mint
– 存储代币元数据的地址。amountRaw
– 相关代币的数量,包含小数。amount
– 不包括小数的代币数量。decimals
– 小数位数。
注意:getSPL
如果提供了这些详细信息,端点还会返回令牌名称和符号。
为了更好地理解上述结果,让我们使用 Solana Explorer 搜索associatedTokenAddress
上述示例的最佳结果:
如您所见,这是一个 Solana 链上账户,其所有者地址就是我们在上例中在搜索栏中输入的钱包地址。您还会看到此帐户提供了有关代币数量的详细信息。要访问代币的元数据,我们需要使用以下mint
地址:
因此,根据端点的响应getSPL
,您可以访问广泛的详细信息。
构建您自己的示例 Dapp 实例及更多
如果你希望创建上述 dapp 的实例并亲自试用,请访问“solana-api-demo” GitHub repo。然后,你将轻松掌握创建示例 dapp 的三个核心方面:
获取您的 Moralis Web3 API 密钥并使用它来初始化 Moralis。
使用
getSPL
端点快速获取最新的链上数据。在后端定义API路由,并在前端调用API路由。
在上面链接的存储库中,您将找到所有前端和后端脚本,这些脚本可让您在几分钟内获得 Solana 上的代币余额。在后端方面,您可以在Solana Python API和 NodeJS 之间进行选择。此外,那里的脚本包括所有其他 Moralis Solana API 端点——您可以在下面找到它们:
NFT API:
通过钱包获取 NFT
获取 NFT 元数据
代币 API:
获取代币价格
余额 API:
通过钱包获取原生余额、代币余额和投资组合
使用上述一组Solana API端点,您可以在这个流行的网络上构建各种 dapp。一些最常见的用例包括 NFT 市场、加密钱包、投资组合追踪器、审计和报告、元宇宙游戏、区块浏览器、代币门控(NFT 身份验证)等。
如何在 Solana 上获取地址的代币余额 – 摘要
在今天的文章中,我们重点介绍了getSPL
端点,使您能够以最小的努力在 Solana 上获得代币余额。通过遵循我们初学者友好教程中的三步流程,您可以创建一个简单的后端脚本。无论您专注于哪种编程语言,您都必须获取 Moralis Web3 API 密钥,这是您轻松进行 Web3 开发的门票。除了教程之外,我们还向您展示了我们简洁的演示 dapp。我们甚至为您提供了我们 repo 的链接,以便您可以轻松创建我们 dapp 的实例并在浏览器中测试所有 Moralis Solana API 端点。
在本文中,您获得了开始轻松创建 Solana dapp 所需的所有信息。借助您的 Web3 API 密钥和 Moralis 文档,您完全有能力在 Solana 或任何其他领先的区块链上创建独特的 dapp。毕竟,Moralis 的全部内容都是跨链互操作性。