Web2 到 Web3:思维范式的转变

欢迎来到 Web3 的世界

如果你是一名经验丰富的 Web2 开发者,你可能已经习惯了这样的架构:

  • 前端:React/Vue,通过 HTTP 请求与后端通信。
  • 后端:Node.js/Java/Go,处理业务逻辑。
  • 数据库:MySQL/PostgreSQL/MongoDB,存储所有状态。
  • 基础设施:AWS/阿里云,托管服务器。

在这个世界里,作为开发者,你是上帝。你可以随时修改数据库,你可以随时更新代码,你也掌握着用户的所有数据。

Web3 的不同之处

进入 Web3,我们需要进行一次思维范式的转变 (Paradigm Shift)

没有“服务器”,只有“节点”

区块链是一个由成千上万个节点组成的 P2P 网络。你不再将代码部署到某一台特定的服务器上,而是部署到整个网络中。

  • Web2: POST /api/transfer -> 服务器数据库 UPDATE users SET balance = ...
  • Web3: 构建一个 Transfer 交易 -> 签名 -> 广播给网络 -> 节点共识 -> 全网账本更新。

数据库 vs 账本

在 Web2,数据库是私有的。在 Web3,Solana 就是一个巨大的、公开的、只追加的数据库

  • 任何人都可以读取上面的数据(透明性)。
  • 只有拥有私钥的人才能修改属于他的数据(所有权)。

API vs 智能合约

  • Web2 API: 你编写的业务逻辑,运行在黑盒子里。用户必须信任你不会作恶。
  • 智能合约 (Program): 部署在链上的逻辑。代码公开可见,且不可篡改(除非预留了升级权限)。这实现了“代码即法律”。

身份认证:从密码到私钥

  • Web2: 用户名 + 密码。数据存储在你的 users 表里。如果你的数据库被黑,用户密码泄露。
  • Web3: 公钥 + 私钥。用户使用钱包(如 Phantom)管理私钥。你作为开发者,永远碰不到用户的私钥,你只需要验证用户的数字签名

Solana 开发映射表

为了帮助你快速理解,我们将 Web2 的概念映射到 Solana 的技术栈:

Web2 概念Solana 映射说明
User IDPublic Key (Address)例如 8xR...2Lq1,这是用户的唯一标识。
PasswordSecret Key (Signature)用于签署交易,证明“我是我”。
Backend APIProgram (Smart Contract)链上运行的二进制代码 (BPF/SBF)。
Database RowAccountSolana 上存储数据的单元。
MicroserviceCPI (Cross-Program Invocation)一个程序调用另一个程序。
Cron JobCrank / Keeper链上没有定时器,需要外部脚本定期触发交易。
LogsEvents / Logs存储在区块中的执行记录。

本课程目标

通过本课程,我们将站在 Web2 开发者的视角,剥去区块链神秘的外衣,用你熟悉的工程语言来解构 Solana。我们将学习:

  • 如何像设计数据库一样设计账户模型
  • 如何像写 API 一样编写指令逻辑
  • 如何像做全栈应用一样构建 dApp

准备好了吗?让我们开始这场去中心化的冒险。

JSPlayground
EDITOR ACTIVE
Initializing JS Environment...

Web2: 中心化架构

Frontend
身份 (Auth)Cookie/JWT
动作 (Action)HTTP Request
Backend Server
API Logic (Node/Java)
Private Server Code
Database (MySQL)
Centralized Storage
架构特点
  • 信任模型: 信任公司 (Google/AWS)
  • 数据权限: 平台拥有
  • 状态维护: 私有数据库
开发视角
  • 后端逻辑: API Endpoints
  • 支付系统: Stripe/PayPal (T+1)
  • 部署: CI/CD -> Cloud