← 智能合約
智能合約深入分析★★★★

Pi Network 智能合約現況:V23 之後開發者實際能做什麼?

發布於 2026年8月5日更新於 2026年8月28日
智能合約

V23 在 2026 年 5 月將 Soroban 智能合約帶到 Pi 主網,這是 Pi 自 Open Mainnet 以來最大的技術升級。但「智能合約已上主網」跟「開發者現在能用智能合約做什麼」之間,存在一個官方從未明確說明的缺口。

這篇整理目前能查到的第一手資料,分別給一般礦工和開發者一個如實的現況說明。


給一般礦工:Pi Network 現在能做到什麼?

確認可以做的

Pi SDK:登入與付款 這是自 Pi 早期就存在的能力,跟協議升級無關。Pi Browser 裡的 App 可以透過 Pi SDK 讓用戶用 Pi 帳號登入、用 Pi 付款。目前 Pi 生態裡的應用,大多數都是用這套機制運作的。

Soroban 智能合約(技術層面已就位,且比先前掌握的更成熟) V23 之後,Soroban 智能合約在技術層面已就位。官方在 GitHub 上公開了第一份合約範例:訂閱合約(PiRC2),設計相當完整,包含商家註冊服務、用戶訂閱、自動扣款、試用期等功能。

OrbitWatch 進一步確認,這份合約不只是 GitHub 上的範例——它已經部署在 Pi Testnet,並且封裝進正式發布的 Pi SDK 檔案裡(詳見下方「路線二」)。但開發者能否實際部署或呼叫,目前沒有官方公開說明。

目前還不確定的

第三方能否呼叫或部署智能合約? 官方在 Developer Discord 明確回覆:智能合約功能「尚未定案,目前僅供內部使用,有進一步消息會再公告」。技術上已經相當成熟,但對外開放的時間表未知。

PiRC1 代幣何時能在主網發行? PiRC1 定義了生態代幣的發行規範(先有產品才能發幣),Pi Launchpad 也已用測試代幣(IRRA、SLICE)驗證了流程。但目前沒有任何第三方在主網正式完成 PiRC1 審核並發行真實代幣的紀錄。

一句話總結

V23 帶來了「技術上可以」,而且完成度比先前掌握的更高;但「開放給第三方」這條線,官方已經明確表態——還沒到時候。不過 OrbitWatch 也觀察到,已有開發者找到不需要等待官方開放、就能實際運作智能合約的方式(詳見下方說明)。


給開發者:現在能用 Pi 的哪些功能?

路線一:Pi SDK(JavaScript)

這是目前最成熟、文件最完整的開發路線。

可以做的事
→ Pi Sign-in:讓用戶用 Pi 帳號登入你的 App
→ Pi Payment:讓用戶用 Pi 付款給你的 App
 
限制
→ 官方公開文件的教學僅涵蓋 Pi.init({ version: "2.0" })
→ 這個版本無法呼叫智能合約相關功能
→ 無法發行自己的生態代幣

如果你只是要在 Pi Browser 裡做一個有登入和付款功能的 App,Pi SDK(version 2.0)是現在最可靠的選擇。

路線二:Soroban 智能合約(Rust + SDK 內建 SmartContract 服務)

這是 V23 帶來的新路線。OrbitWatch 最新查證顯示,這條路線的完成度比先前掌握的更高,但仍未對第三方開放。

已確認存在、但未寫進官方文件的部分:

Pi Browser 會自動載入公開檔案 sdk.minepi.com/pi-sdk.js,OrbitWatch 檢視這份已發布的原始碼後確認:

Pi SDK 裡已包含 SmartContract 服務
→ 需要初始化時傳入 version: "3.0"(官方文件僅教 "2.0")
→ 提供 submitTransaction() 和 pollTransaction() 方法
→ 已封裝 Subscription、NativeToken 兩個子模組
→ Testnet RPC URL:https://rpc.testnet.minepi.com
→ Network passphrase:Pi Testnet
→ Testnet 合約位址已內建在 SDK 程式碼中

也就是說,先前這頁提到「Pi Testnet 的 Soroban RPC 連線參數官方未公開」,現在有了更新——這些參數確實存在於已發布的 SDK 檔案裡,只是沒有寫進 pi-platform-docs 這類公開文件。

但透過這條官方 SDK 路徑,第三方呼叫目前會被拒絕。 已有開發者在 Developer Discord 回報實測結果:呼叫 Pi.SmartContract.submitTransaction() 會抵達 native bridge,但回傳「App unauthorized to call this message」。官方聯絡窗口確認,這項功能「尚未定案,僅供內部使用」。

官方 GitHub 範例:

github.com/PiNetwork/SmartContracts
→ 只有一個資料夾:contracts/subscription
→ README 主頁只有一行標題,沒有入門說明
→ 整個 repo 只有 2 個 commits

subscription 合約的內容:

這份合約(對應 PiRC2 規格,也對應 SDK 裡的 Subscription 模組)設計相當完整:

商家可以做的事
→ register_service:建立訂閱服務(設定價格、週期、試用期)
→ process:批次向到期訂閱者收款
 
用戶可以做的事
→ subscribe:訂閱服務(可設定自動續訂)
→ cancel:取消自動續訂
→ toggle_auto_renew:切換自動續訂狀態
→ extend_subscription:延長 token 授權
 
查詢函數(免費呼叫)
→ get_service / get_subscription / is_subscription_active 等

合約使用 Stellar 的 token approve + transfer_from 模式扣款,資金留在用戶錢包直到實際扣款時才轉移,不需要預先鎖定。這不只是範例程式碼——OrbitWatch 確認這份合約已實際部署在 Pi Testnet 上。


一個新的觀察:官方鎖住的是「SDK 入口」,不是「鏈上合約本身」

OrbitWatch 在查證社群傳言時,找到一個真實在 Pi Testnet 上運作的 Soroban escrow 合約(性質類似訂房應用裡「退房清潔費用」的資金託管),並透過 Testnet RPC 直接查詢驗證了它的存在與運作紀錄。

查證方式:先用 getEvents 方法確認該合約地址有大量真實的事件紀錄(createdfundedauto_released 等狀態),再用 getTransaction 方法查其中一筆交易的完整內容,解碼 envelopeXdr 後確認了關鍵細節:

發起這筆交易的帳戶(source_account)
→ 是一個固定的錢包地址(推測為應用自有的
  escrow/後端帳戶),不是用戶(guest)
  或房東(host)各自的帳戶
→ 換句話說,這筆交易並非用戶透過 Pi Browser
  操作、觸發 Pi.SmartContract SDK 呼叫的,
  而是開發者自己的系統直接對 Soroban RPC
  簽署並送出交易

這解開了一個先前的矛盾:官方明明說智能合約「僅供內部使用」,但確實有開發者在 Testnet 上實際運作合約。答案是——這個開發者並未透過 Pi Browser 內建的 Pi.SmartContract SDK(那條路徑仍會被 unauthorized 擋下),而是繞過這層,直接用標準的 Soroban 工具鏈操作已部署的合約

這件事在技術上是完全合理的:Soroban 合約一旦部署到 Testnet,本質上是公開的鏈上物件,任何持有 Testnet 帳戶的人都能用標準 Stellar/Soroban SDK 直接呼叫,這不需要透過 Pi Browser 的 native bridge,自然也就不會觸發 Pi 官方在 SDK 層設下的權限檢查。

這代表官方目前限制的範圍,比原先理解的更精確:

官方鎖住的
→ Pi Browser 內建 Pi.SmartContract SDK 的呼叫權限
  (這是官方能控制的入口)
 
官方沒有、也無法鎖住的
→ 直接用標準 Soroban 工具操作已部署在 Testnet
  上的合約本身(這是公開鏈上資料的本質,
  不經過 Pi Browser 就不受這層權限管控)

對開發者來說,這代表:如果你願意繞過 Pi SDK、自己管理帳戶金鑰、直接對 Soroban RPC 發送交易,Testnet 上的智能合約操作技術上是可行的,但這麼做不經過官方認可的 SDK 路徑,官方是否樂見這種做法,目前沒有任何說明。


兩套路線的定位對比

                    Pi SDK(JS,v2.0)  SmartContract(SDK v3.0)
──────────────────────────────────────────────────────────────
主要用途         登入 + 付款         智能合約 / 訂閱 / 代幣
開發語言         JavaScript          JavaScript SDK 封裝 + Rust 合約
官方文件完整度   完整                未寫入公開文件,但已存在於 SDK
Testnet 連線     不適用              已知(RPC URL、passphrase 已確認)
透過官方 SDK
呼叫             是                  否(unauthorized)
直接操作已部署
合約(繞過 SDK)  不適用              技術上可行,官方立場未明
Mainnet 可用     是                  未知
協議升級影響     無                  直接相關
進入門檻         低                  技術上已就緒,官方認可路徑未開放

官方沒有說明的缺口

以下是 OrbitWatch 找不到官方正式時間表的問題,直接列出:

  • 智能合約功能何時會對第三方開放(透過官方 SDK 路徑)?官方僅表示「尚未定案」
  • 開發者繞過 Pi SDK、直接操作 Testnet 上已部署合約的做法,官方是否認可或允許?
  • PiRC2 訂閱合約的正式審計進度與 Mainnet 上線時間?
  • 第三方何時能透過 PiRC1 流程在主網正式發行代幣?
  • 為什麼 SmartContract 服務已完成度頗高,卻選擇不寫進公開文件? 這些問題不是 OrbitWatch 能回答的,只能如實標注。如果官方對以上任何問題有正式說明,我們會第一時間更新這頁。

延伸閱讀


數據來源:PiNetwork/SmartContracts GitHub repo(直接觀察)、sdk.minepi.com/pi-sdk.js(官方公開發布之 SDK 檔案,直接觀察)、Pi Network Developer Discord(dev-questions 頻道公開討論)、Pi Testnet Soroban RPC(rpc.testnet.minepi.com,直接查詢 getEvents/getTransaction)、Pi-Defi-world/pirc-smart-contracts-explainer GitHub repo(第三方,非官方)、Pi Network Horizon API 文件。所有分析不構成投資建議。 OrbitWatch 是獨立的 Pi Network 生態觀測站,與 Pi Network 官方無任何關聯。

重要摘要

  • V23 版本已在 Pi 主網上啟用 Soroban 智能合約,但關於開發者實際操作能力和第三方部署的官方指南仍不明確。
  • Pi SDK 提供可靠的登入和支付功能,而新的 Soroban(Rust)方案雖然技術上可用並提供了示例合約,但缺少關鍵的測試網連接參數和主網部署方面的說明。
  • 開發者在部署 Soroban 合約、發行 PiRC1 代幣以及將現有 Pi SDK 應用遷移到鏈上解決方案等方面的官方支持方面面臨著嚴重的信息缺口。