GTokenTool全网最好的代币发行工具平台
当前位置:首页 >> solana教程 >> 在 Solana 和 EVM 上构建 – Solana 和 EVM 兼容 API

在 Solana 和 EVM 上构建 – Solana 和 EVM 兼容 API

admin solana教程 94

如何在 Solana 和 EVM 上进行构建

在 Solana 和 EVM 链上构建的最便捷方式是利用 Moralis 的跨链兼容 API。Moralis 提供了一套全面的企业级 API,使 Web3 开发与 Web2 一样无缝。因此,与 Moralis 合作时,构建跨链兼容的去中心化应用程序 (dapps) 从未如此简单! 

在支持的网络中,您会发现 Solana 和十多个 EVM 链,包括以太坊、Polygon、BNB 智能链 (BSC)、Optimism 等等! 

重点介绍与 Moralis API 兼容的区块链网络,包括 Solana 和 EVM

此外,Moralis 的跨链兼容 API 不仅允许您在 Solana 和多个 EVM 网络上构建,而且它们也是业内最好的。因此,在响应时间、可扩展性、可靠性和功能方面,Moralis API 显然是行业领导者!

案例研究展示了 Moralis Solana 和 EVM API 如何成为最快的 API - 竞争对比图

在 Solana 上构建

借助 Moralis 的 Solana 兼容 API,您可以轻松、更快、更高效地将项目推向市场。这些 API 会索引Solana 开发所需的任何区块链数据,包括 NFT、可替代代币、钱包等的数据! 

Moralis Solana API 的 UI

查询区块链数据从未如此简单,只需几行代码,您就可以完成以下操作: 

  • 获取 NFT 元数据

  • 获取钱包投资组合

  • 按钱包查询代币余额

  • 监控钱包活动

  • 获取 SPL 代币价格

  • 还有更多!

Moralis 的 Solana 兼容 API 支持 Solana 主网和测试网,确保您可以利用我们全面的工具套件来测试和开发可用于生产的 dapp! 

在 EVM 上构建 

借助 Moralis 的 EVM 兼容 API,您可以在十多个区块链网络中更快、更高效地无缝构建 dapp。事实上,使用我们行业领先的接口套件,您可以节省高达 83% 的平均 Web3 上市时间,使您能够先于其他人制作原型、部署和启动您的 Web3 项目! 

艺术图像中所示的 EVM 组件

此外,通过使用 Moralis API,您将利用同样易于使用的技术,该技术已经为 Web3 中一些最重要的项目提供支持,包括 MetaMask、Delta、NFTrade、1inch 等。 

那么,您可以使用我们与 EVM 兼容的 API 做什么呢? 

仅需几行代码,您就可以执行以下操作: 

  • 查询代币价格

  • 流式传输实时区块链数据

  • 获取用户令牌

  • 监控NFT收藏品价格

  • 获取 NFT 元数据

  • 还有更多!

尽管如此,这涵盖了如何使用 Moralis 在 Solana 和 EVM 网络上进行构建的基础知识。现在让我们更深入地了解 Moralis 的一些跨链兼容 API!

Solana 和 EVM 兼容 API 

Moralis 提供了一系列跨链兼容的 API,使其成为任何希望在 Solana 和 EVM 链上构建的人的终极一站式商店。在本节中,我们将探讨三个突出的例子: 

  1. NFT API

  2. 代币 API

  3. 钱包 API

尽管如此,事不宜迟,让我们开始深入研究 NFT API 吧!

NFT API 

Moralis NFT API可免费使用,并通过闪电般的 CDN 提供无与伦比的性能。它支持超过 300 万个 NFT 集合,包括从 CryptoPunks 和 Pudgy Penguins 等成熟项目到几秒钟前铸造的 NFT! 

Solana 和 EVM NFT API 艺术图像

那么,你可以用 NFT API 做什么呢?以下是几个例子:

  • 获取 NFT 传输数据:获取任何 NFT、钱包或地址的历史和实时传输数据。 

  • 访问丰富的元数据:访问集合和单个 NFT 的规范化且完全丰富的元数据。 

  • 获取链上定价数据:获取并将链上定价数据集成到您的 dapps 中,包括最后的销售价格和最低历史价格。 

  • 查询优化图像预览:查询并受益于动态大小的图像预览。  

NFT API 支持 Solana 和十多个 EVM 链,这意味着您可以利用同一工具在多个区块链网络上构建 NFT 项目! 

代币 API 

使用 Moralis Token API,您可以毫不费力地将实时价格、钱包余额和转账集成到您的 Web3 项目中。因此,使用此工具时,构建去中心化交易所 (DEX)、Web3 钱包、投资组合跟踪器或任何其他 dapp 从未如此简单! 

EVM 和 Solana Token API 艺术图像插图

那么,Token API 有哪些特点呢?我们来看几个例子:

  • 获取代币价格:从 Uniswap 和 PancakeSwap 等流行的自动做市商 (AMM) 获取任何代币的当前和历史价格。 

  • 跟踪代币转移:通过合约或钱包实时跟踪任何代币的转移。您还可以轻松获取历史转移。

  • 查询代币余额:在任何给定时间点查询任何地址的代币余额。 

  • 高级垃圾邮件检测:通过支持检测可疑令牌来体验增强的安全性。 

  • 丰富的元数据:访问最新的令牌元数据,包括令牌名称、徽标、符号等。

此外,与 NFT API 一样,Token API 也具有跨链支持。因此,使用 Moralis 的 Token API,您可以构建与 Solana 和所有主要 EVM 区块链兼容的项目! 

钱包 API

Moralis Wallet API拥有一系列强大的功能、无与伦比的可扩展性和出色的灵活性,使其成为将钱包功能集成到 dapp 中的终极工具。Wallet API 支持所有主要区块链上的超过 5 亿个地址,包括 Solana、以太坊、Polygon 和许多其他与 EVM 兼容的网络! 

用于钱包开发的 Moralis Solana 和 EVM 兼容 API 艺术图像

那么,Moralis Wallet API 有什么作用? 

  • 原生余额:访问所有钱包的历史和当前原生余额。

  • 投资组合:获取任何钱包的整个投资组合,包括可替代和不可替代的代币。

  • NFT:获取钱包持有的所有 NFT 和收藏品,以及元数据和图像。 

  • 转账:获得 NFT 和可替代代币的实时转账和交换。 

  • 标签:所有传输和交易端点都支持公共地址标签,让您轻松解码交易。 

  • 还有更多!

得益于 Wallet API 的跨链兼容性,您可以使用此接口在 Solana 和所有主要的 EVM 链上进行构建! 

附加 EVM API

除了上一节中的三个 API 之外,Moralis 还提供许多其他与 EVM 兼容的接口。在本节中,我们将向您介绍其中的一些: 

  • 价格 API:价格API是业界首屈一指的加密货币价格界面。您可以选择任何指标 - 无论您要根据速度、功能还是价格来判断 - 与任何竞争对手相比,此 API 都名列前茅。 

  • 区块链 API:区块链 API是业界最精确、可扩展的原始和解码区块链数据接口。只需几行代码,您就可以无缝查询区块数据、交易、内部交易、日志等。 

  • Streams API:使用Streams API,您可以轻松设置流,以便在链上发生重要事件时接收即时、可自定义的通知。这让您可以无缝监控任何用户的实时传输,通知您的 dapp 用户重要事件等等。

  • 市场数据 API:借助市场数据 API,您可以释放 Web3 市场数据的强大功能,并将其无缝集成到您的 dapp 中。只需几行代码即可查询热门 NFT 收藏、NFT 掉落、顶级 ERC-20 代币等。 

重点介绍 Moralis 的所有 Solana 和 EVM 兼容 API

教程:如何使用跨链兼容 API 构建 Solana 和 EVM

在本节中,我们将向您展示几个示例,说明如何使用我们的跨链兼容 API 在 Solana 和 EVM 区块链上使用 Moralis 进行构建。在本例中,我们将使用 NFT API 来说明 Moralis 的强大功能。更具体地说,我们将向您展示如何获取任何地址的 NFT 余额! 

然而,在继续之前,您必须处理一些必要的先决条件! 

先决条件

在本教程中,我们将使用 JavaScript 获取任何地址的 NFT 余额。因此,在继续之前,请确保已准备好以下内容: 

  • Node.js v14+

  • NPM/纱线

此外,打开您喜欢的集成开发环境 (IDE) 并设置一个新项目。从那里,启动一个新终端,cd进入项目的根文件夹并运行以下命令来安装 Moralis SDK: 

  • 索拉纳: 

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

npm 安装 moralis@moralisweb3/common-evm-utils

最后,您还需要一个 Moralis API 密钥。因此,如果您还没有注册 Moralis,请点击 Moralis 主页右上角的“免费开始”按钮注册 Moralis: 

在 Solana 和 EVM 上构建 - 使用 Moralis 免费开始按钮免费开始

接下来,转到“设置”选项卡,向下滚动到“API 密钥”部分,然后复制您的密钥: 

显示 API 密钥页面以及如何复制 API 密钥的说明

暂时保留它,因为您在接下来的两个部分中需要它! 

尽管如此,这涵盖了先决条件。在以下部分中,我们将提供两个示例,说明如何在 Solana 和 EVM 链上获取地址的 NFT 余额! 

Solana 示例:获取地址的 NFT 余额

在项目根文件夹中创建一个新的“index.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 帐户获取 NFT ( {
   地址,
   网络,
 }
 控制台. log (响应 . toJSON ( ) ) ;
}
运行应用程序

接下来,YOUR_API_KEY用您在上一节中复制的密钥替换: 

Solana 和 EVM API 代码 - 替换 API 密钥

从那里,address通过添加您想要查询 NFT 余额的地址来配置 const: 

使用 Solana 和 EVM API 更改地址参数以查询 NFT 余额

然后我们在调用端点时将addresschain作为参数传递getNFTs(): 

传递 API 调用的地址和链参数

这就是代码;您现在可以通过在项目的根文件夹中运行下面的终端命令来执行脚本: 

节点索引.js

作为回报,您将获得指定地址持有的所有 NFT 的数组。它看起来像这样: 

[
 {
   “关联代币地址” “B7gJmenw3xpQqq82UNHim2cFPqo5p21WY9YLf4XgVNkw”
   “薄荷” “6RPYwFcfmkzMucAGz6FrBRvDX5sK4FBqDye3iZDCw5Q”
   “名称” “DegodsGiveaway#639”
   “符号” “DG”
 }
]

恭喜!您现在知道如何使用 Moralis 的 NFT API 获取 Solana 上地址的余额!

EVM 示例:获取地址的 NFT 余额

在项目的根文件夹中建立一个新的”index.js”文件并添加以下代码: 

const Moralis = require ( "moralis" ) 默认;
const { EvmChain } =需要“@moralisweb3/common-evm-utils”
const runApp = async ( ) => {
 等待Moralis。开始{
   apiKey: “您的API密钥”
   //...以及任何其他配置
 }
 常量地址 = “0xd8da6bf26964af9d7eed9e03e53415d37aa96045” ;
 const chain = EvmChain.以太坊
 const response = await Moralis.EvmApi.nft.getWalletNFTs {
   地址,
   链,
 }
 控制台. log (响应 . toJSON ( ) ) ;
}
运行应用程序

YOUR_API_KEY从这里开始,用处理先决条件时获取的密钥 进行交换:

Solana 和 EVM API 代码示例:如何获取地址的 NFT 余额

接下来,配置addresschain常量以适合您的查询: 

展示如何更改链参数以在 Solana 和 EVM 上构建

然后我们在调用端点时将addresschain作为参数传递getWalletNFTs(): 

在 Solana 和 EVM 链上构建的 getwalletNFT 示例

这涵盖了代码;您现在可以通过在项目的根文件夹中打开新终端并执行以下命令来运行脚本: 

节点索引.js

运行脚本后,您将收到一个响应,其中包含相关地址持有的所有 NFT 的数组。以下是它可能的样子: 

{
 “总计” 1456
 “页数” 1
 “页面大小” 100
 “光标” “eyJhbGciOiJIUzI1NiIs//...”
 “结果” [
   {
     “token_address” “0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85”
     “token_id” “4765809967066625256798886812262830659450023020194524584471225959000376492819”
     “金额” “1”
     “所有者” “0xd8da6bf26964af9d7eed9e03e53415d37aa96045”
     “token_hash” “ba6d44b5f16be94283cecffeb784b7ca”
     “区块数量” “15572796”
     “区块编号” “15573017”
     “合约类型” “ERC721”
     “名称” “以太坊名称服务”
     “符号” “ENS”
     “token_uri” : null
     “元数据” null
     “last_token_uri_sync” null
     “last_metadata_sync” “2022-09-20T06:06:08.153Z”
     “minter_address”
   }
 ]
 “状态” “已同步”
}

就是这样!现在您知道如何使用 NFT API 获取 EVM 网络上地址的余额!

作者:GTokenTool一键发币平台

交流群:https://t.me/+Kz4u3xoDpFo3ZWY1

同类推荐