核心用法
IQDB On-Chain Storage 是 IQ Labs 推出的 Solana 链上数据存储技术栈,包含三大组件:
1. IQDB — 基于 Anchor PDA 的完整关系型数据库,支持表结构定义、行级 CRUD 操作,采用滚动 keccak 哈希链确保数据防篡改历史可追溯。
2. hanLock — 基于韩语音节(base-11172)的密码编码方案,无需依赖库即可实现轻量级链上隐私保护。
3. x402 — HTTP 402 支付网关,支持 USDC/SOL 付费后将文件分片铭刻到 Solana 链上。
开发者可通过官方 SDK(@iqlabs-official/solana-sdk)在 mainnet 部署,或使用 legacy SDK 在 devnet 测试。核心流程包括:初始化 Root PDA → 创建 Table PDA → 以 JSON 字符串形式写入行数据。读取免费(RPC 调用),写入需支付约 0.005-0.01 SOL 交易费及租金。
显著优点
- 不可篡改性:滚动哈希链设计使任何数据修改都会破坏哈希连续性,天然支持审计追溯。
- 纯链上存储:数据完全存于 Solana PDA,无需外部索引器即可验证历史。
- 灵活schema:支持自定义表结构、扩展表(Extension Table)及指令级修正(pushInstruction)。
- 支付集成:x402 提供标准化的付费存储流程,便于商业化场景。
潜在缺点与局限性
- 容量限制:单行 JSON 需控制在 ~100 字节以内,超出会触发
TxTooLong;hanLock 编码后体积膨胀约 3 倍,进一步压缩可用空间。 - 追加-only 写入:原生
writeRow仅支持追加,更新/删除需通过pushInstruction写入指令日志,应用层需自行合并计算最终状态。 - CommonJS 强制:SDK 内部使用动态
require,ESM 项目需改用.cjs或设置"type": "commonjs"。 - RPC 依赖:高频操作易受公共 RPC 速率限制,生产环境需配置 Helius/Alchemy 等专用节点。
适合人群
- 构建链上游戏(RPG、策略类)需角色持久化的开发者
- 需要可验证审计日志的合规、治理类应用
- 探索付费内容存储(付费文章、证书、档案)的 Web3 产品
常规风险
- 数据丢失风险:若未妥善备份 Root PDA 种子或私钥,无法恢复数据库所有权。
- 成本波动:Solana 网络拥堵时交易费与租金可能上涨,高频写入场景需预算弹性。
- 智能合约风险:虽然 IQ Labs 提供官方 SDK,但链上程序仍存在潜在漏洞可能,建议关键业务进行独立审计。
- 编码兼容性:hanLock 编码后的韩文字符在某些环境可能显示异常,需前端做好字体与容错处理。