概述
在今天的文章中,我们将首先关注适合初学者的 Solana 区块链应用开发教程。后者将教您如何轻松使用 Solana API。通过使用我们现有的 Solana dapp,我们将演示如何从 NodeJS 过渡到 Python 后端而不影响 JavaScript 前端。除了上面使用的端点之外,本教程还将实现整个 Solana API 集群。
本指南的后半部分将帮助您更好地了解 Solana 和 Solana 区块链开发。这也是我们将仔细研究 Solana 区块链开发服务和资源的地方。因此,您将有机会了解有关 Solana API 的更多信息。因此,您将能够确定在 Solana 区块链应用程序开发方面应该关注哪些端点。
使用 Solana API 进行 Solana 区块链应用程序开发
如上所述,如上图所示,本 Solana 区块链应用程序开发教程重点介绍如何将后端从 NodeJS 转移到 Python,而不会影响前端。后者是一个简单的 JavaScript 应用程序,允许用户利用 Solana API 端点的强大功能:
注意:您可以在 GitHub 上克隆完整的前端脚本“ index.html ”。如果您想要快速了解我们的示例前端 dapp 的代码,请查看本文顶部的视频,从 1:05 开始。
为了使用 Python 实现 Solana API,您需要完成一些初始设置,这正是下一节将帮助您完成的。
设置 Python 和 Solana 区块链开发服务
在继续之前,请确保您的“Solana API 演示”项目已准备就绪。后者应包含一个“frontend”文件夹,其中包含上述“index.html”脚本(假设您克隆了我们的代码)。如果您也克隆了我们的 NodeJS 后端,那么您的项目中也应该有一个“backend”文件夹:
接下来,首先创建一个“python-backend”文件夹。您可以手动或通过以下命令执行此操作:
接下来,通过运行以下命令“ cd ”进入这个新文件夹:
然后,您需要创建一个新的虚拟环境,以支持安装和使用 Python 模块。因此,在您的终端中输入以下内容:
您还需要激活您的虚拟环境:
运行以下“ activate ”命令:
接下来,您需要安装必要的模块。以下命令将安装 Flask、Flask CORS、Moralis 和 Python“dotenv”:
激活虚拟环境并安装模块后,您可以继续设置环境变量。因此,请确保获取您的 Moralis Web3 API 密钥。后者是使用 Moralis 的 Solana API 进行 Solana 区块链应用程序开发的门户。因此,如果您尚未创建 Moralis 帐户,请立即创建。使用您的帐户,您可以访问您的管理区域。在那里,您可以通过以下两个步骤获取您的 Web3 API 密钥:
创建一个新的“.env”文件或从 NodeJS 后端文件夹复制它,并使用上面获得的 API 密钥填充“ MORALIS_API_KEY ”变量。
如何通过 Python 使用 Solana 区块链开发服务
要使用 Python 实现 Moralis Solana API 端点,请在“python-backend”文件夹中创建一个新的“index.py”文件。然后,导入上面安装的软件包和该脚本的顶部:
您还希望此脚本获取您的 Web3 API 密钥,该密钥存储在“.env”文件中:
在下一行中,使用 Flask 定义变量“ app ”并包含“ CORS ”:
由于您要替换在端口“ 9000 ”上运行的 NodeJS 后端,请确保您的 Python 后端关注同一端口。否则,您需要修改前端中的 URL。以下代码行将处理此问题:
继续向下浏览“index.py”脚本,现在是时候开始实现 Moralis Solana API 端点了:“通过钱包获取原生余额”、“通过钱包获取代币余额”、“通过钱包获取投资组合”、“获取代币价格”、“通过钱包获取 NFT ”和“获取 NFT 元数据”。
使用这些 Solana 区块链开发服务的最简单方法是从 Solana API 参考页面复制相应的代码行。使用 Python 时,您需要选择该编程语言。以下是“通过钱包获取原生余额”端点参考页面:
实现 Solana API 端点
返回到“index.py”脚本,在“ CORS(app) ”行下方定义每个端点的路由和函数。至于“通过钱包获取本机余额”端点,介绍中的代码行可以完成工作:
最上面的一行“ @app.post(“/getWalletbalance ”)”在 Python 中创建了一条新路由。使用“ def getWalletbalance(): ”,您可以为手头的端点定义函数。使用“ body = request.json ”,您可以读取 Moralis 为您获取和解析的 JSON 数据。然后,您可以定义端点的参数(“地址”和“网络”)。使用带有参数和 Web3 API 密钥的“ sol_api.account.balance ”方法,您可以将数据存储在“ result ”变量下。最后,使用“ return result ”返回结果。
所有 Solana API 端点的 Python 代码片段
对于其他 Solana API 端点,完全相同的原则也适用。本质上,您可以使用与上面相同的代码行。但是,您确实需要更改路由、函数名称和方法以匹配端点。为了节省时间,您可以在下面找到其余五个 Solana API 端点的代码片段:
实现“ getTokenbalance ”端点:
实现“ getNfts ”端点:
实现“ getPortfolio ”端点:
实现“ getNFTMetadata ”端点:
实现“ getTokenPrice ”端点:
注意:完整的“ index.py ”脚本正在我们的 GitHub repo 页面上等着您。
探索 Solana 区块链应用程序开发的成果
确保你位于“python-backend”文件夹中。然后使用以下命令运行“index.py”:
上述命令在端口“ 9000 ”上启动后端。要访问后端的功能,您还需要启动前端。您可以使用 Visual Studio Code (VSC) 中的“Live Server”扩展来执行此操作。只需右键单击“index.html”并选择“使用 Live 服务器打开”选项:
最后,您可以使用前端 dapp 并测试所有 Solana API 端点。以下是“通过钱包获取原生余额”和“通过钱包获取代币余额”选项的示例:
“通过钱包获取原生余额” 演示:
“通过钱包获取代币余额” 演示:
探索 Solana 区块链应用程序开发
如果您喜欢亲自动手,那么您会喜欢上述教程,并且很可能已经创建了我们的示例 Solana 区块链应用程序的实例。但是,了解 Solana 区块链应用程序开发背后的理论基础非常重要。因此,让我们首先回答“什么是 Solana? ”这个问题。
Solana 是什么?
Solana 是一种不兼容 EVM 的可编程区块链。它是公共的和开源的。Solana 支持智能合约开发(链上程序)、代币创建和各种 dapp(去中心化应用程序)。与所有领先的可编程链一样,Solana 利用其原生代币“SOL”通过 Solana 的混合 DeFi 质押共识提供网络安全。SOL 还用于支付 Solana 上的交易费用。与大多数加密货币一样,它可用于在 Solana 网络上转移价值。
Raj Gokal 和 Anatoly Yakovenko 于 2017 年推出了 Solana。这两位开发人员仍然通过 Solana Labs 深度参与 Solana 的工作。后者是一家技术公司,致力于构建扩展 Solana 生态系统的工具、产品和参考实现。
注意:要了解有关 Solana 的更多信息,请使用上面的“什么是 Solana?”链接。
什么是 Solana 区块链开发?
Solana 区块链开发是围绕 Solana 区块链的任何开发活动。其核心是指 Solana 区块链本身的创建和持续改进(更新实施)。这是 Solana 核心团队和社区关注的重点。
另一方面,Solana 区块链开发也可以指Solana 智能合约构建和与这个流行的去中心化网络交互的 dapp 的创建。对于大多数开发人员来说,这更加令人兴奋和容易实现,尤其是当他们使用正确的 Solana 区块链开发服务、资源和工具时。
Solana 开发使用哪种编程语言?
Rust 是 Solana 支持用于编写链上程序的编程语言。因此,如果您想为 Solana 编写独特而先进的智能合约,您需要熟练掌握 Rust。作为 Rust 的两种替代方案,您还可以使用 C 或 C++ 创建 Solana 链上程序。但是,如果您想在 Solana 上创建 NFT,您可以无需任何高级编程技能即可做到这一点,这要归功于一些简洁的 Solana 开发工具(更多信息见下文)。
谈到 Solana 区块链应用程序开发,您已经了解到 NodeJS 和 Python 可以完成工作。此外,Moralis 还支持 cURL、Go 和 PHP。因此,您可以使用不同的传统编程语言来构建杀手级 Solana dapps。
Solana 区块链开发服务和资源
Moralis 的 Solana API 提供了最佳的 Solana 区块链开发服务。它们具有以下 Web3 数据端点,您可以将其与所有领先的编程语言/框架一起使用:
余额 API 端点:
通过钱包获取本机余额
通过钱包获取代币余额
通过钱包获取投资组合
令牌 API 端点:
获取代币价格
NFT API 端点:
通过钱包获取 NFT
获取 NFT 元数据
借助支持 Solana 主网和开发网的上述 API,您可以获取 NFT 元数据、钱包投资组合、代币余额和 SPL 代币价格。因此,您可以以无数种方式使用 Moralis Solana API。例如,您可以构建 NFT 市场、代币价格信息、投资组合 dapp 等等。
除了 Web3 数据之外,所有 dapp 还需要用户友好的 Web3 身份验证。这就是 Moralis身份验证 API发挥作用的地方。后者支持以太坊和所有领先的 EVM 兼容链以及 Solana。通过“请求挑战”和“验证挑战”端点,您可以将所有领先的 Solana 钱包的无缝 Web3 登录合并到您的 dapp 中。如果您不确定如何回答“什么是 Solana 钱包? ”这个问题,请浏览我们关于该主题的文章。
在创建 Solana 链上程序时,Solana 智能合约示例可以为您节省大量时间。此外,如果您想在此网络上创建 NFT,Solana NFT 铸币工具可以极大地简化流程,例如 Metaplex Candy Machine。如果您决定深入研究 Solana 开发,您还需要熟悉 Solana Labs 的本机程序和 Solana 程序库 (SPL)。
尽管如此,可靠的Solana 测试网水龙头将为您提供测试网 SOL,以便在 Solana 开发网上测试您的 dapp 和智能合约:
如何开始 Solana 区块链应用程序开发 – 摘要
我们在今天的文章中涵盖了相当多的内容。在本 Solana 区块链应用开发指南的前半部分,您有机会按照我们的教程使用 Python 创建示例 Solana 后端 dapp。至于今天文章的第二部分,我们确保您知道什么是 Solana 以及 Solana 区块链开发需要做什么。您还了解到 Rust 是创建 Solana 智能合约的领先编程语言。最后,我们介绍了最好的 Solana 区块链开发服务、资源和工具。这样,您就准备好开始构建杀手级 Solana dapp 了!