IQDB

⛓️ Solana 原生链上数据库与防篡改存储

在 Solana 链上构建不可篡改的关系型数据库,支持 CRUD 操作、滚动哈希验真、密码编码及付费铭文,适合需要链上持久存储与可审计记录的场景。

收藏
5.2k
安装
1.6k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

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 编码后的韩文字符在某些环境可能显示异常,需前端做好字体与容错处理。

IQDB 内容

references文件夹
手动下载zip · 14.2 kB
hanlock.mdtext/markdown
请选择文件