如何使用 Seahorse 以 Python 撰寫 Solana 程式
Solana 是一個具有智能合約功能的高效能區塊鏈網路,其設計目標是為全球規模的採用而擴展。Solana 平均每秒可處理 3,000 筆交易,是速度最快的區塊鏈協定之一。Solana Programs 是撰寫在 Solana 區塊鏈網路上的智能合約,用於執行各種活動,包括代幣轉帳、鑄造 NFT,以及鏈上投票。
本文將說明如何使用 Seahorse 開發框架,分別在本地開發環境與線上 IDE 中以 Python 撰寫 Solana Programs。
在 Solana 上開發程式的主要方式有哪些?
要開發 Solana Programs,你需要學習 Rust、使用 Anchor 開發框架建置,或使用 Seahorse(一個 Python 風格的 Solana 開發框架)。
Rust 是 Solana 建置所採用的程式語言,也是與 Solana 的 Sealevel Runtime 互動時預設使用的web3 程式語言。
使用 Anchor 在 Solana 上開發
Anchor 是一個框架,透過將 Rust 語言的複雜性從一般使用者手中抽象化,讓 Solana 應用程式開發更容易。
Anchor 為 Solana 開發者提供了介面定義語言(Interface Definition Language, IDL)、根據 IDL 產生客戶端的 Typescript 套件、Rust crates,以及命令列介面(CLI)等工具。
使用 Seahorse 在 Solana 上開發
Seahorse 是由社群主導的 Solana 開發框架,讓開發者能夠以 Python 程式語言撰寫 Solana programs。
Seahorse 讓每個以 Python 撰寫的程式,都能擁有與 Rust 程式相同的安全保障。Seahorse 與 Anchor 完全相容,也能與 Rust 程式碼互通。
Python 廣泛用於網頁應用程式與機器學習專案的日常開發,是目前最受歡迎的程式語言。
由於許多對開發區塊鏈應用有興趣的開發者,可能已經具備 Python 程式設計技能,他們可以使用 Seahorse 來建置 Solana 應用程式,而不需要另外學習一種全新的程式語言(Rust)。
如何在本地 Solana 開發環境中使用 Seahorse
像 Solana Playground 這類平台僅適合快速建置與測試應用程式,不應用來開發大型應用程式。若要在本地工作環境中建置 Seahorse 所需的開發環境,我們將安裝以下項目:
- Rust
- Solana Tool Suite
- Node
- Anchor
- Seahorse
1. 安裝必要的 Solana 開發工具
若要安裝 Rust、Solana Tool Suite、Node 和 Anchor,請參考這篇設定本地 Solana 開發環境的教學。
若你使用的是 Linux 系統,可能需要執行以下指令來加入額外的相依套件:
2. 安裝 Seahorse
Seahorse 需要依賴 Anchor 和 Rustfmt 才能正常運作。由於你的機器上已安裝好 Anchor,安裝 Rustfmt 套件與 Anchor 會很簡單。
執行以下指令加入 Rustfmt 套件:
在終端機執行以下指令來安裝 Seahorse:
執行最後一個指令,確認 Seahorse 已正確安裝:
3. 產生紙錢包(paper wallet)
由於你已經安裝好 Solana Command Line Tools,可以建立一個本地的「紙錢包」在本地環境中使用。
執行以下指令確認 Solana CLI 工具已安裝完成:
接著輸入下一個指令來產生新的金鑰對:
請妥善保存相關資訊,以便之後在本地環境中使用。
為你的紙錢包充值:
執行 solana airdrop 2 指令以取得 2 個測試用 SOL 代幣
如果你想使用線上開發環境來測試 Seahorse,而不是在本地端執行,Solana Playground 是不錯的選擇。
如何在 Solana Playground 中設定 Seahorse
Solana Playground 是一個線上的整合開發環境(Integrated Development Environment),專為快速啟動 Solana 應用程式開發而打造。
Solana Playground 提供以下預先建置的 Crates:
- Native(Rust)-適合想在不使用任何框架的情況下於 Solana 上建置的開發者
- Anchor(Rust)-適合想以 Rust 搭配額外工具在 Solana 上建置的開發者
- Seahorse(Python)-適合具備 Python 程式設計經驗的 Solana 開發者

1. 建立新的 Solana Playground 專案
在 Solana Playground 上建立一個新專案,並為目錄命名。命名完成後,會出現一個名為 FizzBuzz 的示範專案。本教學將使用這個小型 dapp 作為範例。
2. 建立 Playground 錢包
你必須先產生一個 Playground Wallet,才能與你的 Seahorse programs 互動。Playground Wallet 是作為此應用程式的測試錢包。
- 點選「playground wallet」
- 選擇新增錢包
- 依照畫面指示操作,並下載 JSON 檔案

3. 取得測試用 SOL 代幣
在 Playground 終端機中輸入以下指令,取得 devnet SOL 代幣:
$ connect
connect 指令會將你的測試錢包與專案連結。
$ solana address
solana address 指令會印出你的 Solana 錢包地址。稍後我們會用這個地址來啟動 FizzBuzz 應用程式。
$ solana airdrop 2
solana airdrop 指令會將測試用 SOL 代幣存入你的錢包,用來支付執行「Build」或「Deploy」等交易所需的手續費。

Seahorse 的 Python 元件如何運作
在這個章節中,我們將逐步建立一個常見但簡單的鏈上 FizzBuzz 應用程式。我們的程式碼主要包含三個部分:
- Account
- Instruction 1
- Instruction 2
1. Account
Executable Accounts 用來定義在 Solana 區塊鏈上執行的可執行程式碼(智能合約)。在 Accounts 定義中,你可以指定 Solana programs 所需的資料型別。
Fizz 和 Buzz 被定義為布林(Boolean)資料型別,而變數「n」則為無號整數(unsigned integer)型別。
2. Instruction 1
還有另一種帳戶類型,稱為 Built-In Accounts。這些內建帳戶大多用於在鏈上呼叫特定的 instructions。
A. Signer account
需要簽署者的 instructions,必須取得錢包的核准。Signer 就是在這段程式碼中,對定義的 instruction 呼叫進行簽署的錢包。
owner 這個關鍵字用來儲存 Signer 的相關資訊。若要取得 Signer 的公鑰,可以加入以下程式碼:
B. Empty account
Empty account 型別用來初始化主要 Account(FizzBuzz)的類別,即使該帳戶一開始是空的。
透過使用 Empty 關鍵字,你可以建構主要 Account 中定義的類別。當 FizzBuzz account 被初始化時,建立費用會由 Owner(即該交易的簽署者)支付。
一旦該帳戶在鏈上建立完成,同一個 owner 之後再次呼叫時就無法重新建立。初始化時產生的 seed 可用來識別原始帳戶。
3. Instruction 2
第二個 instruction 呼叫會使用已建立好的帳戶及其對應的值。
以下是 FizzBuzz 的完整程式碼範例:
開始使用 Seahorse 以 Python 建置 Solana 應用程式
Seahorse 是一個由社群主導的開源專案,完全免費供大眾使用。Seahorse 目前仍處於 beta 階段,許多功能尚未實作完成。雖然尚未達到正式上線(production-ready)的程度,但仍可用來在 Solana 的 devnet 上進行實驗與應用程式開發。
透過 Seahorse,以 Python 在 Solana 上進行開發是可行且簡單的。如果你是一位對學習 web3 開發有興趣的 Python 開發者,透過 Solana Playground 探索 Seahorse,是開始學習 Anchor、Rust 與 Solana programs 相關技能的一種安全又有趣的方式。
相關總覽
Solana2026年7月27日
Solana 節點:驗證者、RPC 節點與自架
說明 Solana 節點是什麼、驗證者、RPC 節點與次級資料系統的差異,以及何時該自架、何時該使用服務供應商。
Solana2026年7月22日
Solana 歸檔資料:如何查詢完整區塊與交易歷史
說明 Solana 歸檔資料:節點為何會修剪歷史資料、哪些 RPC 方法需要歸檔存取權限,以及如何大規模查詢完整區塊與交易歷史。
Solana2026年5月28日
Solana Agent Kit vs GOAT vs ElizaOS:該選哪個框架?
比較 Solana Agent Kit、GOAT 與 ElizaOS:Solana 原生深度、多鏈廣度,或完整的 agent runtime。附程式碼範例與選擇依據。

打造區塊鏈魔法
Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。