Skip to main content

✨ 魔法互联网计算机

我们将在游乐场中编写一个简单的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 Playground

info

这里的内容可以看也行也可以不看,因为前面我们已经学会了如何在本地启动Solana节点,搭建一个本地开发环境了。

我们将在Solana Playground上开始编写程序。这是一个基于浏览器的集成开发环境,它会处理所有设置要求,让我们可以专注于Rust

启动它并使用原生框架创建一个新项目,我们将保持原汁原味🌼。Anchor是一个用于在Solana上构建Rust的框架,有点像React对于Web的作用。我们稍后会学习如何使用它,现在先使用原生框架。

你会看到一个包含高级Hello World程序的lib.rs文件。忽略它,我们要做的要更简单。

在这里,你最不想做的事情就是设置游乐场钱包。你会在左下角看到一个“未连接”按钮。

点击它,系统会为你生成一个Solana钱包,并用devnet SOL为其充值。如果需要,你可以保存密钥对,这在测试特定密钥对部署的程序时可能很有用。对于我来说,我只会构建一个简单的程序,所以并不需要它 :)

现在我们知道了在哪里编写代码,是时候开始学习Rust了!