欢迎来到 Solana 开发文档!
此页面包含开始 Solana 开发所需的所有信息, 包括基本要求、Solana 开发的工作原理以及您需要的工具。
高级开发概述
在 Solana 上进行开发可以分为两个主要部分:
链上程序开发:这是指直接在区块链上创建和部署自定义程序。 部署后,任何知道如何与它们通信的人都可以使用它们。 您可以用 Rust、C 或 C++ 编写这些程序。 目前,Rust 在链上程序开发方面获得了最多的支持。 客户端开发:这是指编写与链上程序通信的软件(称为去中心化应用程序,或 dApps)。 您的应用程序可以提交交易以在链上执行操作。客户端开发可以用任何编程语言编写。
客户端和链上之间的粘合剂是 Solana JSON RPC API。
客户端通过发送 RPC 请求与链上程序交互。这与前端和后端开发非常相似。
不同之处在于,Solana 的后端是一个全球无许可的区块链,这意味着任何人都可以与您的链上程序交互, 而无需发放 API 密钥或任何其他形式的权限。
客户端如何与 Solana 区块链工作
Solana 开发与其他区块链有所不同,因为它具有高度可组合的链上程序。
这意味着您可以在任何已部署的程序之上进行构建,通常无需进行任何自定义链上程序开发。
例如,如果您想处理代币,可以使用网络上已经部署的 Token Program。
所有开发工作都将在您选择的客户端语言中进行。
开发人员会发现,Solana 的开发栈与其他开发 栈非常相似。
主要区别在于您将与区块链一起工作,并且需要考虑用户如何在链上而不仅仅是在前端与您的应用程序交互。
Solana 开发仍然包括 CI/CD 管道、测试、调试工具、前端和后端,以及任何正常开发流程中的内容。
开始所需的工具
开始 Solana 开发所需的工具根据您是在开发客户端、链上程序还是两者都有所不同。
客户端开发
如果您正在开发链上应用程序,您应该了解 Rust。
如果您正在开发客户端,您可以使用任何您熟悉的编程语言。
Solana 有社区贡献的 SDK 帮助开发人员使用大多数流行语言与 Solana 网络交互:
语言 | SDK |
---|---|
RUST | solana_sdk |
Typescript | @solana/web3.js |
Python | solders |
Java | solanaj |
C++ | solcpp |
Go | solana-go |
Kotlin | solanaKT |
Dart | solana |
您还需要一个与 RPC 的连接来与网络交互。
您可以使用 RPC 基础设施提供商,或者运行自己的 RPC 节点。
要快速开始为您的应用程序创建前端, 可以在 CLI 中输入以下命令生成 一个可定制的 Solana scaffold:
npx create-solana-dapp <project-name>
这将创建一个包含所有必要文件和基本配置的新项目,以便开始在 Solana 上构建。
scaffold 将包括一个示例前端和一个链上程序模板(如果您选择了一个)。
您可以阅读 create-solana-dapp
文档以了解更多信息。
链上程序开发
链上程序开发包括用 Rust、C 或 C++ 编写程序。
首先,您需要确保在您的机器上安装了 Rust。
您可以使用以下命令安装:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
然后,您需要安装 Solana CLI 以编译和部署您的程序。 您可以通过运行以下命令安装 Solana CLI:
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
使用 Solana CLI,建议运行本地验证器以测试您的程序。
安装 Solana CLI 后,运行以下命令启动本地验证器:
solana-test-validator
这将在您的机器上启动一个本地验证器,您可以用它来测试您的程序。 您可以在本指南中阅读更多关于本地开发的信息。
在构建链上程序时,您可以选择使用原生 Rust(即不使用框架)或使用 Anchor
框架。
Anchor 是一个框架,通过为开发人员提供更高级别的 API,使在 Solana 上构建变得更容易。
可以将 Anchor 类比为用 React 构建网站,而不是直接使用 JavaScript 和 HTML。
虽然 JavaScript 和 HTML 为您提供了对网站的更多控制, 但 React 加速了您的开发过程并使开发变得容易。 您可以在 Anchor 的网站上阅读更多信息。
您需要一种方法来测试您的程序。根据您的语言偏好,有几种不同的方法来测试您的程序:
solana-program-test
- 用 Rust 构建的测试框架solana-bankrun
- 用于编写 TypeScript 测试的测试框架bankrun
- 用于编写 Python 测试的测试框架
如果您不想在本地开发您的程序,还有在线 IDE Solana Playground。 Solana Playground 允许您编写、测试和部署程序。 您可以按照我们的指南开始使用 Solana Playground。
开发环境
选择正确的环境非常重要。 在 Solana 上,有几个不同的网络环境(称为集群)来促进成熟的测试和 CI/CD 实践:
- Mainnet Beta:生产网络,所有活动都在这里发生。交易在这里需要真实的资金。
- Devnet:质量保证网络,您可以在部署到生产环境之前在这里测试您的程序。相当于“预生产环境”。
- Local:您在机器上运行的本地网络,使用
solana-test-validator
测试您的程序。 这应该是您开发程序时的首选。
示例构建
在您开始在 Solana 上构建时,还有一些资源可以帮助加速您的旅程:
- Solana Cookbook:一个参考和代码片段集合,帮助您在 Solana 上构建。
- Solana Program Examples:一个示例程序的仓库,提供不同操作的构建模块。
- Guides:教程和指南,带您逐步在 Solana 上构建。
获取支持
您可以在 Solana StackExchange 上找到最好的支持。 首先在那搜索您的问题——很可能已经有人问过类似的问题,并且有答案。 如果没有,请添加一个新问题!记得在您的问题中包含尽可能多的细节, 并使用文本(而不是截图)显示错误消息,以便有相同问题的其他人可以找到您的问题!