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资产的“所有权”

摆脱对大型云的依赖,迈向与你的身份直接关联的去中心化网络上的资产。不妨先从静态发布开始?