Skip to content

Solana链上程序开发概述

开发者可以编写并部署自己的程序到Solana区块链。这个过程可以大致总结为几个关键步骤。

Hello World: 开始Solana开发

要快速开始Solana开发并构建你的第一个Rust程序,可以参考以下详细的快速入门指南:

链上程序开发生命周期

  1. 设置开发环境
  2. 编写程序
  3. 编译程序
  4. 生成程序的公共地址
  5. 部署程序

1. 设置开发环境

最稳健的开始Solana开发的方法是在本地计算机上安装Solana CLI工具。这将为你提供最强大的开发环境。

一些开发者也可能选择使用Solana Playground,这是一个基于浏览器的IDE。它允许你在浏览器中编写、构建和部署链上程序,无需安装。

2. 编写程序

编写Solana程序通常使用Rust语言。这些Rust程序实际上与创建传统的Rust库相同。

INFO

你可以在下方阅读更多关于其他支持语言的信息。

3. 编译程序

当程序编写完成后,必须将其编译为Berkley Packet Filter字节码,然后部署到区块链。

4. 生成程序的公共地址

使用Solana CLI,开发者将为新程序生成一个新的唯一密钥对。这个密钥对的公共地址(又称Pubkey)将在链上用作程序的公共地址(又称programId)。

5. 部署程序

再次使用CLI,编译后的程序可以通过创建包含程序字节码的多个交易来部署到选定的区块链集群。由于交易内存大小的限制,每个交易实际上是以快速发送小块程序到区块链的方式进行的。

一旦整个程序发送到区块链,最后会发送一个交易将所有缓冲的字节码写入程序的数据账户。这将标记新程序为可执行,或者完成升级现有程序的过程(如果它已经存在)。

支持的语言

Solana程序通常使用Rust语言编写,但也支持C/C++

社区也有通过各种努力使得可以用其他语言来编写链上程序,包括:

  • 通过Seahorse使用Python(它作为基于Rust的Anchor框架的包装器)

示例程序

你也可以探索程序示例,查看链上程序的示例。

限制

随着对Solana链上程序开发的深入理解,我们需要知晓链上程序的一些重要限制。

阅读更多详细信息请访问Solana的局限性页面。

常见问题

浏览其他开发者关于编写/理解Solana程序的常见问题