文章目錄
- 簡介
- 特征
- 核心概念
- Solana 的工作原理(簡單版)
- 為什么人們選擇 Solana
- 開發環境準備
- Solana 官網
- Solana 文檔
- Anchor 文檔
- Github
- Rust SDK
- 快速安裝 Solana(推薦)
- 單獨安裝 Solana
- 安裝依賴項
- 安裝 Solana CLI
- 安裝 Anchor CLI
- 安裝 AVM
- 安裝 Anchor CLI
- 安裝 Node
- 安裝 nvm
- 安裝 Node
- 安裝 yarn
- Solana 官方示例
- 創建 Anchor 項目
- 測試 Anchor 程序
簡介
一個快速、低成本的網絡,能夠實現價值轉移、創建應用程序和在線互動的新方式。
Solana 是一個高性能網絡,能夠實現快速、安全且經濟實惠的數字交易。它支持從支付、游戲到數字藝術和金融服務的數千種應用程序。
特征
-
速度: 傳統銀行轉賬需要數天時間,信用卡交易需要幾秒鐘確認(但結算需要數天),而 Solana 的交易在不到一秒內完成。這種速度實現了其他地方無法實現的實時體驗。像發送短信一樣快速地進行國際匯款,或無需等待確認即可交易資產。
-
成本: 在 Solana 上,交易費用通常為 $0.00025——也就是千分之一美元的四分之一。你可以用 1 美元進行 4,000 次交易,使得小額支付和頻繁交互變得切實可行。這帶來了新的可能性:用幾分錢打賞創作者,頻繁交易而不被費用侵蝕利潤,或構建用戶可以頻繁交互而無需擔心成本的應用。
-
擴展性: Solana 每秒可以處理數千筆交易,與主要支付網絡相當。這種能力意味著即使更多人使用,網絡也不會變慢或變得昂貴。在高峰時段和非高峰時段,你的交易處理速度同樣快——這是現實世界應用的關鍵。
-
全球可訪問性: 任何有互聯網接入的人都可以使用 Solana。不需要銀行賬戶、信用檢查或地理限制。無論你在紐約、內羅畢還是其他任何地方,你的錢包都能以相同的方式工作。一個偏遠地區的小企業可以獲得與大城市企業相同的工具——真正實現了數字金融服務的平等訪問。
核心概念
-
SOL: Solana 的原生貨幣,用于支付交易費用和參與網絡安全。可以將其視為郵票,用于發送郵件——您需要少量的 SOL 才能使用網絡。不到 1 美元的 SOL 就能覆蓋數百筆交易。
-
錢包: 存儲您的數字資產并讓您與應用程序交互的軟件。您的錢包就像一個通用賬戶,可以在所有 Solana 應用程序中使用。一個錢包即可訪問數千個應用程序,您的資產和歷史記錄隨您而行。
-
代幣: 數字資產可以代表從貨幣到項目所有權份額的任何事物。就像手機上的應用程序一樣,Solana 上存在數千種不同的代幣。有些代幣保持穩定的價值用于支付,另一些則代表項目的股份或服務的訪問權限。
-
驗證者: 處理交易并保護網絡的計算機。全球超過 1,000 個驗證者確保 Solana 保持去中心化和可靠性。由全球獨立運營者運行,這種分布式結構防止了任何單點故障或控制。
-
智能合約: 在 Solana 上運行的程序,支持從簡單的轉賬到復雜的應用程序的一切。它們完全按照編程執行,沒有停機或干擾的可能性。就像數字服務的自動售貨機——可預測、自動化,并且全天候可用。
Solana 的工作原理(簡單版)
- 您在錢包中發起一個操作(例如發送 SOL)
- 您的交易被發送到驗證者,驗證者確認其合法性
- 驗證者在不到一秒內達成共識
- 您的交易被確認并永久記錄
- 接收方立即看到結果
為什么人們選擇 Solana
- 面向個人
- 金融接入:無需銀行即可享受銀行服務
- 真正的所有權:直接控制您的數字資產
- 全球參與:與其他人享有同樣的機會
- 低門檻:只需幾美元即可開始
- 面向開發者
- 高性能:構建響應迅速的應用程序
- 低成本:用戶不會因費用而被排除在外
- 可組合性:像樂高積木一樣組合現有程序
- 不斷增長的生態系統:充滿活力的社區和資源
- 面向企業
- 高效性:降低支付處理成本
- 創新性:創造新的商業模式
- 全球覆蓋:服務全球客戶
- 面向未來:基于尖端技術構建
開發環境準備
- VirtualBox 安裝 Ubuntu Server 系統及 Ubuntu 初始配置
- Ubuntu 安裝 Rustup 管理 Rust 版本
- Trae 通過 SSH 連接遠程 Ubuntu Server 環境進行開發
Solana 官網
- https://solana.com/zh
Solana 文檔
- https://solana.com/zh/docs
- https://solana.com/zh/docs/rpc
Anchor 文檔
- https://www.anchor-lang.com/docs
Github
- https://github.com/anza-xyz/agave/releases
Rust SDK
- https://solana.com/zh/docs/clients/rust
快速安裝 Solana(推薦)
- 安裝所有依賴項
curl --proto '=https' --tlsv1.2 -sSfL https://solana-install.solana.workers.dev | bash
注: 安裝過程中 Solana CLI 可能會安裝失敗,需要單獨安裝 Solana CLI。
單獨安裝 Solana
注: 需要單獨先安裝 Rust 開發環境。
安裝依賴項
sudo apt-get update
sudo apt-get install -y \build-essential \pkg-config \libudev-dev llvm libclang-dev \protobuf-compiler libssl-dev
安裝 Solana CLI
Solana CLI 提供了構建和部署 Solana 程序所需的所有工具。
- 腳本安裝(需要科學上網)
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
- 手動下載二進制文件
https://github.com/anza-xyz/agave/releases
wget https://github.com/anza-xyz/agave/releases/download/v3.0.0/solana-release-x86_64-unknown-linux-gnu.tar.bz2
tar jxf solana-release-x86_64-unknown-linux-gnu.tar.bz2
./solana-release/bin/solana --version
- 配置環境變量
echo 'export PATH="$HOME/solana-release/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
- 檢查 Solana CLI 的版本
solana --version
- 將 Solana CLI 更新到最新版本
agave-install update
安裝 Anchor CLI
Anchor 是一個用于開發 Solana 程序的框架。Anchor 框架利用 Rust 宏來簡化編寫 Solana 程序的過程。
- Anchor 版本管理器 (AVM) - 推薦的安裝方法
- 不使用 AVM - 直接從 GitHub 安裝
安裝 AVM
cargo install --git https://github.com/coral-xyz/anchor avm --force
- 檢查 avm 的版本
avm --version
安裝 Anchor CLI
- [https://github.com/solana-foundation/anchor/releases
# 列出版本
avm list# 安裝最新版本(需要科學上網)
avm install latest
avm use latest# 或安裝指定版本
avm install 0.31.1
avm use 0.31.1
- 檢查 Anchor CLI 的版本
anchor --version
安裝 Node
安裝 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
- 添加環境變量
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
source ~/.zshrc
- 檢查 nvm 的版本
nvm -v
- nvm 常用命令
# 列出可在線安裝版本
nvm ls-remote
# 安裝指定 node 版本
nvm install 22.19.0
# 查看當前已安裝的 node 版本及當前使用的版本
nvm list# 使用指定 node 版本
nvm use 22.19.0
# 設置默認 node 版本
nvm alias default 22.19.0
# 卸載指定 node 版本
nvm deactivate
nvm uninstall 22.19.0
安裝 Node
nvm ls-remote
nvm install 22.19.0
nvm alias default 22.19.0
- 檢查 node 的版本
node -v
安裝 yarn
npm install --global yarn
- 檢查 yarn 的版本
yarn -v
- yarn 常用命令
# 查詢當前配置的鏡像
yarn config get registry
# 設置成淘寶鏡像
yarn config set registry http://registry.npm.taobao.org/
yarn config set registry https://registry.npmmirror.com/# 查看緩存列表
yarn cache list
# 查看緩存路徑
yarn cache dir
# 清理緩存
yarn cache clean
# 安裝依賴
yarn install
Solana 官方示例
- https://github.com/solana-developers/program-examples
Solana 程序示例 GitHub 倉庫提供了多個子文件夾,每個文件夾包含代碼示例,幫助開發者學習和嘗試 Solana 區塊鏈開發。
您可以在 solana-developers/program-examples 中找到這些示例,以及 README 文件,這些文件會向您解釋如何運行不同的示例。大多數示例是獨立的,并以原生 Rust(即無框架)和 Anchor 提供。
git clone https://github.com/solana-developers/program-examples.git
創建 Anchor 項目
- 檢查 Anchor CLI 的版本
anchor -v
- 創建新項目
# 默認生成的是 Typescript 測試文件
anchor init demo
# 或指定生成 Rust 測試文件
anchor init --test-template rust demo
cd demo
- 默認的 Anchor 程序位于 demo/programs/demo/src/lib.rs
- 默認的測試文件
- Typescript 測試文件位于 demo/tests/demo.ts
- Rust 測試文件位于 demo/tests/src/test_initialize.rs
- Trae 通過 SSH 連接 Ubuntu Server 服務
- 構建程序
cd demo
anchor build
測試 Anchor 程序
在 Solana 上,“智能合約”被稱為程序。 程序被部署到鏈上的賬戶中,這些賬戶包含程序編譯后的可執行二進制文件。用戶通過發送包含 指令的交易與程序交互,這些指令告訴程序需要執行的操作。
- 測試前準備
指定了 CLI 向其發送請求的 Solana 集群
solana config set -ul
# 創建錢包
solana-keygen new
# 查看您的錢包地址(公鑰)
solana address
- 需要單開一個新終端來啟動本地驗證器
solana config set -ul
solana-test-validator
- 檢查錢包 SOL 余額
solana balance
# 請求空投 SOL
solana airdrop 2
- 默認情況下,Anchor.toml 配置文件會指定 localnet 集群。執行 anchor test 將自動:
- 啟動本地 Solana 驗證器
- 構建并部署你的程序到本地集群
- tests運行文件夾中的測試
- 停止本地 Solana 驗證器
cd demo
anchor test
# 或本地驗證器處理已在運行,則跳過啟動本地驗證器
anchor test --skip-local-validator
注: 執行完 test 后,錢包 SOL 余額減少了。