name: ordfs description: 这个技能应用于用户询问"什么是ORDFS"、“如何使用ordfs.network”、“ordfs API”、“访问链上内容”、“铭文网关”、“ordfs查询参数”、“ordfs序列”、“ordfs目录”、“ordfs预览”、“递归铭文”、“ord-fs/json”,或需要引用、访问或通过ORDFS服务链上内容。
ORDFS - 序号文件系统
HTTP网关,用于访问BSV区块链上的链上内容(铭文)。
实时网关: https://ordfs.network 仓库: https://github.com/b-open-io/go-ordfs-server
快速参考
| 端点 | 目的 |
|---|---|
/{txid}_{vout} |
直接内容访问 |
/content/{pointer} |
带有选项的内容 |
/content/{pointer}:{seq} |
特定版本 |
/content/{pointer}/{file} |
目录中的文件 |
/preview/{b64Html} |
预览HTML代码 |
/v2/metadata/{outpoint} |
仅元数据 |
内容访问模式
基本内容URL
https://ordfs.network/{txid}_{vout}
示例:
https://ordfs.network/abc123...def_0
输出点格式
所有格式解析为相同内容:
| 格式 | 示例 |
|---|---|
| 下划线 | abc123..._0 |
| 点 | abc123....0 |
| 仅Txid | abc123... (默认为vout 0) |
带有选项的内容端点
/content/{pointer}[:{sequence}][/{filepath}]
查询参数:
| 参数 | 默认 | 描述 |
|---|---|---|
content |
true | 包括内容数据 |
map |
false | 包括MAP元数据 |
out |
false | 包括原始输出(base64) |
parent |
false | 包括父引用 |
raw |
- | 返回目录JSON而不是index.html |
示例:
/content/abc123..._0?map=true # 带有MAP元数据
/content/abc123..._0?content=false # 仅元数据
/content/abc123..._0?raw # 目录列表
序列版本化
使用序列号追踪铭文更新。
特殊"-1" (最新)
/content/{pointer} # 与:-1相同,获取最新版本
/content/{pointer}:-1 # 显式最新
行为: 短TTL缓存(60秒),返回最新版本。
特定序列
/content/{pointer}:0 # 原始铭文
/content/{pointer}:5 # 第5次更新
行为: 长TTL缓存(30天),不可变内容。
响应头
| 头部 | 描述 |
|---|---|
X-Outpoint |
当前输出点 |
X-Origin |
原始铭文输出点 |
X-Ord-Seq |
序列号 |
X-Map |
JSON MAP元数据 |
X-Parent |
父铭文输出点 |
目录 (ord-fs/json)
内容类型为ord-fs/json的铭文表示目录。
目录格式
{
"index.html": "ord://abc123..._0",
"style.css": "abc123..._1",
"app.js": "def456..._0"
}
值可以是:
ord://txid_vout- 完整序号引用txid_vout或txid- 直接引用
访问目录文件
/content/{directory_pointer}/index.html
/content/{directory_pointer}/style.css
/content/{directory_pointer}/app.js
SPA路由
对于SPA,未知路径回退到index.html:
/content/{pointer}/unknown/path → 返回index.html
原始目录JSON
添加?raw以获取目录列表而不是index.html:
/content/{pointer}?raw
预览端点
在广播前测试HTML铭文。
Base64 HTML预览
/preview/{base64EncodedHtml}
示例:
const html = "<html><body>Hello!</body></html>";
const b64 = btoa(html);
const previewUrl = `https://ordfs.network/preview/${b64}`;
POST预览
curl -X POST https://ordfs.network/preview \
-H "Content-Type: text/html" \
-d "<html><body>Hello!</body></html>"
递归铭文
从HTML/JS内容中引用其他铭文。
模式
<script src="/content/abc123..._0"></script>
<img src="/def456..._0" />
<link href="/content/style123..._0/main.css" rel="stylesheet">
基础路径处理
ORDFS为递归内容设置基础路径以正确解析。
API端点
V1端点
| 端点 | 目的 |
|---|---|
/v1/bsv/block/latest |
最新块信息 |
/v1/bsv/block/height/{h} |
按高度的块 |
/v1/bsv/block/hash/{hash} |
按哈希的块 |
/v1/bsv/tx/{txid} |
原始交易 |
V2端点
| 端点 | 目的 |
|---|---|
/v2/tx/{txid} |
原始交易 |
/v2/tx/{txid}/proof |
Merkle证明 |
/v2/tx/{txid}/beef |
BEEF格式证明 |
/v2/tx/{txid}/{vout} |
特定输出 |
/v2/block/tip |
最新块头 |
/v2/chain/height |
当前高度 |
/v2/metadata/{outpoint} |
铭文元数据 |
/v2/stream/{outpoint} |
流式内容 |
基于DNS的访问
将自定义域名映射到铭文。
DNS TXT记录
创建_ordfs.yourdomain.com:
_ordfs.yourdomain.com IN TXT "ordfs=abc123..._0:5"
格式: ordfs={pointer}[:{sequence}]
工作原理
- 用户访问
yourdomain.com/path/to/file - ORDFS解析DNS TXT记录
- 从铭文目录返回内容
常用使用模式
图像显示
// 使用bitcoin-image进行标准化
import { getDisplayUrl } from "bitcoin-image";
const imageUrl = await getDisplayUrl("ord://abc123..._0");
// 返回: https://ordfs.network/abc123..._0
// 直接构建
const url = `https://ordfs.network/${txid}_${vout}`;
获取内容
// 获取铭文内容
const response = await fetch(`https://ordfs.network/${origin}`);
const content = await response.text();
// 获取带有元数据
const metaResponse = await fetch(
`https://ordfs.network/content/${origin}?map=true`
);
const mapData = metaResponse.headers.get("X-Map");
检查最新版本
// 获取最新序列
const response = await fetch(`https://ordfs.network/content/${origin}`);
const sequence = response.headers.get("X-Ord-Seq");
const currentOutpoint = response.headers.get("X-Outpoint");
缓存行为
| 请求类型 | 缓存TTL |
|---|---|
特定序列 (:N) |
30天 |
| 最新序列 (默认) | 60秒 |
| 块头 (深度100+) | 30天 |
| 块头 (深度4-99) | 1小时 |
| 块尖 | 无缓存 |
额外资源
参考文件
references/api-reference.md- 完整API文档references/advanced-features.md- DNS, 流式, 目录
示例
examples/fetch-content.ts- 内容获取模式examples/recursive-inscription.html- 递归铭文示例
相关包
bitcoin-image- ordfs.network的URL标准化js-1sat-ord- 创建铭文@b-open-io/templates- 铭文模板