GTokenTool全网最好的代币发行工具平台
当前位置:首页 >> solana教程 >> 如何在 Solana 上获取地址的代币余额

如何在 Solana 上获取地址的代币余额

admin solana教程 461

概述

下面,您可以找到两个主要部分:“教程:使用简单的后端脚本获取 Solana 上的代币余额”和“使用我们的示例 Dapp 获取 Solana 上的任何代币余额”。第一个是我们的三步教程,演示如何使用 JavaScript、TypeScript 或 Python 以最少的麻烦获取 SPL 代币余额。 

这三个步骤如下:

  1. Moralis 设置– 在这里,我们查看可用于设置 Moralis SDK 的各种命令。

  2. 获取地址的 SPL 代币余额– 本节介绍参数及其各自的选项,无论您是想关注主网还是开发网。此外,我们还将介绍如何使用 JavaScript、TypeScript 和 Python 获取代币余额。

  3. 运行您的脚本——在此部分中,您最终可以运行脚本来获取特定 Solana 地址的代币余额。

另一方面,第二部分重点介绍围绕主要端点的示例项目。此示例项目使用与本教程中介绍的相同原理,但还包含一个简单的 HTML 前端。后者使您能够getSPL在浏览器中体验端点的强大功能。  

获取 Solana 上的代币余额——使用 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。因此,请使用与您的包管理器匹配的以下命令之一:

  • 新版本:

npm 安装 moralis@moralisweb3/common-sol-utils
  • 纱:

yarn add moralis @moralisweb3/common-sol-utils
  • 画中画:

pip 安装 moralis

第 2 步:获取地址的 SPL 代币余额

此时,您已经知道在 Solana 上获取代币余额的最简单方法是使用getSPL端点。如简介中的代码片段所示,此端点接受两个参数:networkaddress。第一个有两个选项:mainnetdevnet– 第二个接受任何 Solana 地址。因此,为了本教程的目的,您可以决定专注于 Solana 主网或开发网:

注意:如果您不熟悉Solana devnet,我们鼓励您使用该链接来获取有关该网络的一些经验。   

至于 Solana 地址,我们建议使用您的 Solana 钱包地址。当然,您可以随意使用我们在即将发布的脚本中提供的示例地址。接下来,我们将引导您完成我们的 JavaScript 和 Python 脚本。TS 脚本与 JavaScript 脚本非常相似。因此,我们将仅为您提供最终代码。 

注意:您可以通过访问“通过钱包获取代币余额” API 参考页面来探索“getSPL”端点的详细信息,甚至尝试一下。    

使用 JavaScript 获取 SPL 代币余额

创建一个新的“ index.js ”文件并首先导入moralissol-utils

const Moralis = require ( "moralis" ) 默认;
const { SolNetwork } =需要( “@moralisweb3/common-sol-utils” )

接下来,创建一个runApp异步函数。在其顶部,初始化 Moralis:

const runApp = async ( ) => {
 等待Moralis。开始{
   apiKey: “您的API密钥”
}

查看上面的代码片段,您可以看到YOUR_API_KEY占位符。 确保将其替换为上面获得的 API 密钥。 

注意:创建可用于生产的 dapp 时,您需要使用“.env”文件来存储 API 密钥和其他环境变量。在这种情况下,您可以将上面的apiKey行替换为apiKey: process.env.MORALIS_API_KEY。您可以在顶部的视频(3:00)中了解更多信息。 

在 中runApp,还需要定义addressnetwork参数:

const地址 = “BWeBmN8zYDXgx2tnGj72cA533GZEWAVeqR9Eu29txaen”
const网络 = SolNetwork.MAINNET

您可以随意将上述地址替换为您想要的任何 Solana 地址。此外,如果您希望专注于后者,也可以替换MAINNET为。通过这样做,您可以期待从经过审查的Solana 测试网水龙头DEVNET获得的免费测试网资产交易。 

最后,您需要实现Moralis.SolApi.account.getSPL介绍中的方法。在该方法下,您还需要以 JSON 格式控制台记录响应并运行该runApp函数:

const响应 =等待Moralis。索尔API 帐户获取SPL {
 地址,
 网络,
}
控制台. log (响应 . toJSON ( ) ) ;
}
运行应用程序

因此,这是让你在 Solana 上获取代币余额的完整 JS 脚本:

const Moralis = require ( "moralis" ) 默认;
const { SolNetwork } =需要( “@moralisweb3/common-sol-utils” )
const runApp = async ( ) => {
 等待Moralis。开始{
   apiKey: “您的API密钥”
 }
 const地址 = “BWeBmN8zYDXgx2tnGj72cA533GZEWAVeqR9Eu29txaen”
 const网络 = SolNetwork.MAINNET
 const响应 =等待Moralis。索尔API 帐户获取SPL {
   地址,
   网络,
 }
 控制台. log (响应 . toJSON ( ) ) ;
}
运行应用程序

使用 TypeScript 获取 SPL 代币余额

以下是上述脚本的完整 TypeScript 版本(唯一的区别在于它如何导入 Moralis [前两行])。因此,将其粘贴到新的“ index.ts ”脚本中:

“moralis”导入Moralis
“@moralisweb3/common-sol-utils”导入{ SolNetwork }
const runApp = async ( ) => {
 等待Moralis。开始{
   apiKey: “您的API密钥”
 }
 const地址 = “BWeBmN8zYDXgx2tnGj72cA533GZEWAVeqR9Eu29txaen”
 const网络 = SolNetwork.MAINNET
 const响应 =等待Moralis。索尔API 帐户获取SPL {
   地址,
   网络,
 }
 控制台. log (响应 . toJSON ( ) ) ;
}
运行应用程序

使用 Python 获取 SPL 代币余额

如果你决定使用 Python 获取 Solana 上的代币余额,请创建一个新的“ index.py ”文件并首先导入 Moralis:

moralis导入sol_api

接下来,定义api_key变量和两个端点参数:

api_key = “您的API密钥”
参数 = {
   "网络" : "主网"
   “地址” “BWeBmN8zYDXgx2tnGj72cA533GZEWAVeqR9Eu29txaen”
}

最后,调用该sol_api.account.get_spl方法并将其分配给results。另外,您还想返回结果:

结果= sol_api.account.get_spl
   api_key=api_key,
   参数=参数,
打印结果

将以上所有代码片段放在一起后,您将获得以下 Python 脚本:

moralis导入sol_api
api_key = “您的API密钥”
参数 = {
   "网络" : "主网"
   “地址” “BWeBmN8zYDXgx2tnGj72cA533GZEWAVeqR9Eu29txaen”
}
结果= sol_api.account.get_spl
   api_key=api_key,
   参数=参数,
打印结果

步骤 3:运行脚本

此时,您应该已经准备好上述脚本之一。因此,是时候运行您的脚本并获取您使用的地址在 Solana 上的代币余额了。因此,根据编程语言,使用匹配的命令:

  • JavaScript的:

节点索引.js
  • 打字稿:

ts 节点索引.ts
  • Python:

python 索引.py

运行上述命令之一后,查看终端的响应。以下是 Solana 主网上的示例地址的 JSON 响应:

[
 {
   “关联令牌地址” “Dpmpwm93Amvj4uEFpYhjv8ZzfpgARq6zxKTi6mrj97gW”
   “薄荷” “BXWuzb3jEuGsGUe29xdApu8Z3jVgrFbr3wWdsZmLWYk9”
   “原始金额” “100000000000”
   “金额” “100”
   “小数” “9”
 }
]

使用我们的示例 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 的三个核心方面:

  1. 获取您的 Moralis Web3 API 密钥并使用它来初始化 Moralis。

  2. 使用getSPL端点快速获取最新的链上数据。

  3. 在后端定义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 的全部内容都是跨链互操作性。 

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐