✨ 魔法互联网计算机
我们将在游乐场中编写一个简单的Hello World
程序。它仅会在交易日志中记录一条消息。至今为止,我们已经完成了许多酷炫的项目,包括建立各种类型的客户端,创建NFT
收藏品,铸造SPL
代币,甚至构建用户界面让其他人与之互动。然而,我们迄今为止所做的一切都是基于现有的程序。
你现在已经做好成为一名全栈Solana
开发者,并学习如何编写自己程序的准备了。
Solana
的强大之处在于能够运行任何可执行代码。Solana
程序,或者说其他区块链环境中的“智能合约”,实际上是Solana
生态系统的核心组成部分。这意味着Solana
本质上是一个通用计算机,任何互联网用户都可以访问和运行。你可能会好奇为何这样做很重要,但确实并不感觉如此。
区块链网络是互联网的下一次演进,这就是为什么整个行业将其称为“Web 3.0
”的原因。能够安全且无需许可地运行可重复的代码,这为我们打开了一个全新的可能性世界。
尽管如此,它并没有像“静态类型”语言那样具有魔力,因为魔力仍由像你我这样的人构建。随着开发人员和创作者构建并部署新程序,程序的数量每天都在增长。
🤔 Rust 是什么鬼东西?
Solana
的程序是用Rust
编写的,这是一种与C
类似的低级编程语言,速度非常快。在我们着手标准的“Hello World
”程序之前,让我稍微解释一下为什么Rust
被视为相当困难。
简单来说:Rust
感觉艰难,因为它规则众多。就像那些学习曲线陡峭的视频游戏——DOTA
、英雄联盟、星际争霸(甚至国际象棋或CSGO
)。这些游戏有数百个独特的角色/物品/能力,每个都有自己的规则和互动方式。要想在这些游戏中获胜,你必须掌握所有的规则,并了解它们是如何相互作用的。
Rust
也是如此。它是一种强有力的语言,迫使你以不同的方式思考代码。它不是一种可以随意拿来写程序的语言,而是一种你必须深入学习和理解的语言。
但这并不是要吓到你——学习Rust
并不像学习DOTA
那么难💀。我只是想告诉你我们已经弄明白了。学习Rust
可以非常有趣,只是可能需要比你以往习惯的更多努力 :)
就像玩电子游戏一样,我们会一步步来,从简单的开始,逐渐解决困难问题,不断提升自己的水平⚔️。
我们将从构建Hello World
程序所需的基本概念开始:
- 模块系统
Solana
程序入口- 函数
- 引用和借用(有一点)
🛹 Solana Playground
这里的内容可以看也行也可以不看,因为前面我们已经学会了如何在本地启动Solana
节点,搭建一个本地开发环境了。
我们将在Solana Playground
上开始编写程序。这是一个基于浏览器的集成开发环境,它会处理所有设置要求,让我们可以专注于Rust
。
启动它并使用原生框架创建一个新项目,我们将保持原汁原味🌼。Anchor
是一个用于在Solana
上构建Rust
的框架,有点像React
对于Web
的作用。我们稍后会学习如何使用它,现在先使用原生框架。
你会看到一个包含高级Hello World
程序的lib.rs
文件。忽略它,我们要做的要更简单。
在这里,你最不想做的事情就是设置游乐场钱包。你会在左下角看到一个“未连接”按钮。
点击它,系统会为你生成一个Solana
钱包,并用devnet SOL
为其充值。如果需要,你可以保存密钥对,这在测试特定密钥对部署的程序时可能很有用。对于我来说,我只会构建一个简单的程序,所以并不需要它 :)
现在我们知道了在哪里编写代码,是时候开始学习Rust
了!