本节是从新目录到已检查、可运行 Blocklet 的本地优先路径。远程发布与 DID Space 部署不是前置条件。
前置条件
- 安装公开 CLI:
curl -fsSL https://arc.afsd.io/install.sh | bash
arc --version本板验证基线:2.0.0-beta.28。
- 在 ARC monorepo 之外 的临时或项目目录工作。编写第三方 Blocklet 不需要 clone
ArcBlock/arc。 - 试验时优先用具名实例,避免改动
:4900上的种子 daemon。ARC_HOME已退役(CLI 会警告并忽略)。隔离靠实例名加--home:
export ARC_INSTANCES_DIR=/tmp/arc-instances-demo
arc service start --instance demo --home /tmp/arc-home-demo
arc service url --instance demo --print url
# 结束后:
arc service stop --instance demo
arc service rm --instance demo三页一条路径
| 步骤 | 页面 | 证明什么 |
|---|---|---|
| 1 | Package 与 Instance | Package(产物)与 instance(运行/部署)用语 |
| 2 | 本地创建与运行 | 脚手架 + 本地 serve + 浏览器 URL |
| 3 | 检查、构建与 inspect | check / build / inspect / dev 证据链 |
最小命令序列
arc blocklet create ./demo-min --recipe minimal-app --name demo-min
arc dsl validate ./demo-min
arc blocklet check ./demo-min --profile minimal-app
arc service start --instance demo --blocklet ./demo-min --port 4939已验证输出形态(arc 2.0.0-beta.28):
Created minimal app blocklet "demo-min" with 18 file(s).
Next: arc dsl validate /…/demo-min
Passed DSL validation
path: /…/demo-min
files: 16
Passed blocklet check (minimal-app)
dir: /…/demo-min
AUP pages: agent, home, settings
web sections: 1
agents: 1
settings files: 5
AFS Service started
Port: 4939
Blocklet: demo-min
http://demo-min.localhost:4939/
http://localhost:4939/?blocklet=demo-min (Safari / universal)打开打印的子域名 URL。本地验收结束后停止临时具名实例(arc service stop --instance demo)。不要 stop :4900 上的种子 daemon,除非是你启动的。
当前可脚手架的 recipe
arc blocklet recipe list| Recipe | CLI 报告的能力 | 生成文件(约) |
|---|---|---|
basic / blank | 仅 manifest | 1(blocklet.yaml) |
blog | aup | 小型 AUP 集 |
agent | aup, agent | 聊天 + 一个 agent |
minimal-app | web, aup, agent, settings | ~18 文件 |
agent-workspace | web, aup, agent, settings | ~19 文件 |
support-community | web, aup, agent, settings | ~20 文件 |
脚手架前先解释 recipe:
arc blocklet recipe explain minimal-app不要先做的事
| 避免 | 原因 |
|---|---|
把 arc deploy … --server … 当第 1 步 | 需要认证与远程 DID Space;不是本地验收 |
把 arc blocklet dev 当服务器 | 它只扫描约定,不提供 HTTP |
把 dist/ 当手写源码 | arc blocklet build 拥有 dist/;除非发布流程要求,否则不要提交 |
| 混用 package 与 instance 用语 | 使数据所有权、配置与发布讨论含糊——见 Package 与 Instance |