Why ICP這意味著什麼?成本對象靜態發布架構實際案例部署步驟安全自定義域名下一步世界觀總結
Hero Presentation

將網站、落地頁、應用、3D、遊戲等發布到ICP去中心化雲。

從Web2託管的替代方案,邁向由AI/CLI操作的去中心化應用平臺。

ICP Sovereign Cloud:將網站/落地頁/應用/3D/遊戲等發布到ICP去中心化雲的方法

注:投影片中的文字為日文,頁面正文以中文對各張投影片進行說明。

這個Sho T官方網站本身也發布在ICP去中心化雲上。本頁面既是說明資料,也是ICP Sovereign Cloud的實際演示。

01 / Motivation

為什麼選擇ICP

為什麼選擇ICP

區別不在於功能,而在於能把Web資產的存放位置與所有權的重心移到自己這一邊。

使用Vercel、AWS或Wix等SaaS,同樣可以實現網站、API、外部連結與AI整合。因此,ICP的價值並不只是增加了某些功能。

ICP的本質在於:網站和應用不再放在由特定管理主體運營的伺服器上,而是放在由密碼學機制維持的去中心化雲上,從而能夠成為由自己的身份(identity)管理的Canister(容器)上的實體。

02 / Identity

這意味著什麼?

這意味著什麼?

像本地檔案一樣由自己持有,像雲一樣向世界開放,並作為Canister自主執行。

本地電腦上的檔案完全在自己的管理之下,但只封閉在本地。普通的雲雖然可以向全世界公開,卻依賴於大企業的賬號與服務。

而ICP可以在將Web資產置於自己所有(以私鑰簽名)的同時,在網路上發布、執行與連結。也就是說,它從根本上改變了持有Web資產的方式。

03 / Cost Comparison

補充:成本極低

補充:成本極低

作為可以自己擁有的去中心化雲平臺,年成本卻遠低於Wix等SaaS。

Wix等SaaS(標準方案)
約 30,360 日元 / 年
ICP + 自定義域名維護費
約 4,233 日元 / 年
每年節省約 26,127 日元(便宜約 86%)

如果只看便宜,還有免費託管等其他選擇。但這裡最重要的是:這是一個完全由自己的金鑰擁有的發布平臺,同時還能以極低的維護成本運營。

※參考:根據ICP Japan「告別Web2託管對比」的年度對比資料製作

04 / Road Map

今天的目標

今天的目標

實現第1階段,展望第2階段。

  • 第1階段(發布流程):掌握從本地開發 → build → 同步到Asset Canister → 確認ICP公開URL的全過程。
  • 第2階段(擴展功能):展望通往Backend Canister、HTTPS outcalls、Chain Fusion、vetKeys、SEV Subnet以及AI / CLI操作的路徑。
05 / Targets

可以發布的對象

可以發布的對象

能放到ICP上的,不只是作品集網站。

凡是在瀏覽器中執行的公開資產,都可以發布到ICP。

  • 個人網站、作品集網站、企業官網
  • 推廣落地頁、活動專題頁、招聘網站
  • 類似GitHub Pages的文件網站、Wiki
  • 使用React/Vue等構建的Web應用、PWA
  • 運用three.js / WebGL的3D展示空間與元宇宙前端
  • 基於WebGL的瀏覽器Web遊戲
06 / Static Hosting

先從靜態發布開始

先從靜態發布開始

首先,把build產物放到Asset Canister上。

無需一開始就編寫區塊鏈程式碼(智慧合約)。就像普通的Web開發一樣,把 `npm run build` 生成的靜態資源(`dist/` 等構建產物)部署到ICP即可。

在第1階段,ICP被用作「替代Vercel或Netlify的安全的去中心化託管」。

07 / Architecture

整體架構

整體架構

Local → Build → Asset Canister → Public URL

  • Local:使用VS Code等工具在本地編寫與編輯程式碼。
  • Build:透過 `npm run build` 等命令生成 `dist/` 目錄。
  • Asset Canister:將生成的 `dist/` 內容同步到ICP上的「Asset Canister」(執行同步命令)。
  • Public URL:透過 `icp0.io`、`ic0.app` 等原始URL,或經由DNS的自定義域名,從世界各地訪問。
08 / Real Case Study

實際案例:Sho T官網

實際案例:Sho T官網

這個Sho T官方網站本身,就是ICP去中心化雲的實際演示。

Sho T的官方網站是用Astro構建的現代靜態網站。程式碼倉庫名為 `Showying/sho-web`,其構建產物 `dist/` 被直接同步到ICP的Asset Canister。

包括你正在瀏覽的這個落地頁(`/lp/icp-sovereign/`)在內,一切都是執行在去中心化網路上的真實演示。

09 / Component Layer

所需的構成要素

所需的構成要素

在Web開發的build流程上,加上一層ICP部署。

要在ICP上發布,只需在普通的Web開發環境中稍作補充。

  • 前端環境:Node.js / npm,以及Astro、React、Vue、Vite等你喜歡的框架。
  • ICP工具:`icp-cli`(或dfx)、`ic-wasm` 等CLI。
  • 配置檔案:描述資源同步目標的 `icp.yaml`(或 `dfx.json`)。
  • 加密資產與金鑰:用於部署簽名的主網Identity(私鑰檔案),以及作為部署費用的Cycles。
10 / Configuration

icp.yaml的思路

icp.yaml的思路

定義要build什麼、要同步什麼到ICP。

`icp.yaml` 是ICP部署中的核心配置檔案。它定義了這樣一個流程:執行 `npm run build` 生成 `dist/`,再把 `dist/` 中的靜態檔案同步到Asset Canister。不是直接同步原始的 `public/` 目錄,而是將Astro等工具構建完成後的產物(`dist/` 等)指定為上傳對象。

11 / Deploy Workflow

部署步驟

部署步驟

本地確認 → build → preview → 主網部署

# 1. 使用本地開發伺服器進行開發
npm run dev

# 2. 生成靜態構建產物
npm run build

# 3. 在本地確認構建產物的顯示
npm run preview

# 4. 確認Identity與Cycles後,部署到ICP主網
icp deploy --network mainnet

不要在ICP上才第一次確認顯示效果,而是在本地充分確認完成之後再進行部署。

12 / Variations

不同對象有何不同

不同對象有何不同

入口相同(靜態上傳),注意點各不相同。

網站、落地頁、Web應用、3D網站、Web遊戲——上傳到ICP的基本步驟(使用Asset Canister)都是一樣的。但根據內容的性質,需要注意的要點各有不同。

  • 網站·落地頁:關鍵在於自定義域名、canonical、OGP圖片等SEO設定。
  • Web應用·PWA:與API的整合、客戶端的狀態管理與路由。
  • 3D網站(three.js):壓縮3D模型等的體積,加快並最佳化載入速度。
  • Web遊戲:資源分發、多人遊戲時的無伺服器通訊、存檔資料的儲存。
13 / Security Guide

安全與運營規則

安全與運營規則

正因為可以自己擁有,金鑰與機密資訊的嚴格管理才至關重要。

在ICP上,你用自己的金鑰擁有並管理Web資產。因此,以下機密資訊絕對不能公開、洩露或記錄。

  • 絕對不能洩露的資訊:seed phrase(助記詞)、recovery phrase(恢復短語)、PEM私鑰檔案、identity私鑰、`.env` 中的API金鑰等機密資料、錢包私鑰。
  • 可以公開或記錄的資訊:identity的註冊名(本地名稱)、Principal ID、Account ID、Canister ID、公開URL、執行過的CLI命令等。
14 / Domain Configuration

使用自定義域名

使用自定義域名

先用canister URL確認,之後再設定自定義域名。

一開始就設定自定義域名容易混亂,因此先使用 `*.icp0.io` 等原始Canister URL進行部署與確認。

之後,再推進正式公開的流程:放置 `.well-known/ic-domains` 檔案、設定DNS記錄、配置Asset Canister(`.ic-assets.json5`),以及修改canonical、OGP、sitemap等。

15 / Troubleshooting

故障排查

故障排查

遇到問題時,回到「build」「dist」「identity」「cycles」。

如果在部署或訪問時出現問題,請回到以下基本項目進行確認。

  • Build錯誤:本地構建(`npm run build`)是否真的正常通過。
  • 同步目錄:是否混淆了 `public` 與構建輸出 `dist`;`icp.yaml` 中的同步源設定是否正確。
  • 許可權·費用不足:identity私鑰的指定是否正確,Canister中作為部署費用的Cycles是否充足。
  • 資源路徑錯誤:圖片、3D模型等的路徑問題,部署前用 `npm run preview` 確認能否正常顯示。
16 / Next Phase

下一步

下一步

第1階段:託管 → 第2階段:邁向去中心化應用平臺。

在第1階段,ICP只是作為替代Vercel或Wix的靜態託管來使用。

從這裡進入第2階段,可以引入Backend Canister、呼叫外部API的HTTPS Outcalls、與其他鏈相互讀寫的Chain Fusion、實現鏈上加密的vetKeys、保護機密資訊的SEV Subnet,以及與AI代理、CLI / ICP Skills的整合,將其擴展為自主執行的強大去中心化應用平臺。

17 / Vision

更遠的世界觀

更遠的世界觀

像本地一樣持有,開放地驗證,隱秘地執行。

再往前,將連結到本地AI、機密計算(Confidential Computing)、SEV Subnet、主權(Sovereign)的確立、AI代理之間的交易(代理商務)、價值網際網路、多鏈整合、機器經濟,以及宇宙與去中心化基礎設施。

本地AI與去中心化雲並不對立,而是將成為同時實現「個人主權」與「可信的相互連結」的未來基礎設施。

18 / Summary

總結

總結

ICP不只是一個上傳目的地,而是Web資產未來的實現平臺。

首先,把網站 / 落地頁 / 應用 / 3D / 遊戲發布到ICP吧。第1階段把它當作便捷的Vercel替代方案,之後再逐步擴展到後端、加密與AI代理。隨著AI、CLI與ICP Skills的發展,不僅是開發者,每個人都將能夠擁有自主的Web。

「像本地檔案一樣由自己持有,像雲一樣向世界開放,並作為Canister自主執行。」

FAQ

常見問題

可以上傳到ICP的內容有哪些?

凡是build後能在瀏覽器中執行的公開資產都可以,例如網站、落地頁、Web應用、PWA、使用three.js / WebGL的3D網站、Web遊戲,以及包含圖片、音訊、影片的靜態內容。

與Vercel或AWS有什麼不同?

Vercel和AWS同樣可以實現網站、API、外部連結與AI整合。區別不在於功能,而在於Web資產的存放位置與所有權的重心。在ICP上,網站和應用可以作為由自己的身份管理的Canister上的實體來發布。

需要從一開始就開發去中心化應用嗎?

不需要。可以先從靜態發布開始,把 `npm run build` 生成的 `dist/` 部署到Asset Canister即可。

ICP便宜嗎?

根據對比資料的估算,Wix等SaaS每年約30,360日元,而ICP + 域名每年約4,233日元,差額約26,127日元,便宜約86%。不過,其本質不只是便宜,而在於它是一個可以自己擁有的發布平臺。

這個Sho T官方網站也發布在ICP上嗎?

是的。這個Sho T官方網站本身就發布在ICP去中心化雲上。本頁面(`/lp/icp-sovereign/`)既是說明資料,也是發布在ICP上的實際演示。

下一步是什麼?

組合Backend Canister、HTTPS outcall、Chain Fusion、vetKeys、SEV Subnet、AI代理、ICP Skills、CLI等,從託管擴展為去中心化應用平臺。

Join Us

奪回Web資產的「所有權」

擺脫對大型雲的依賴,邁向與你的身份直接關聯的去中心化網路上的資產。不妨先從靜態發布開始?