ORDFS-序号文件系统技能Skill ordfs

ORDFS是一个HTTP网关,用于访问BSV区块链上的链上内容(铭文),提供API接口和工具来读取、管理和预览铭文数据,适用于Web3应用开发和DApp构建。关键词:ORDFS, BSV区块链, 链上内容, HTTP网关, API, 铭文访问, Web3开发。

链开发 0 次安装 0 次浏览 更新于 3/15/2026

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_vouttxid - 直接引用

访问目录文件

/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}]

工作原理

  1. 用户访问yourdomain.com/path/to/file
  2. ORDFS解析DNS TXT记录
  3. 从铭文目录返回内容

常用使用模式

图像显示

// 使用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 - 铭文模板