一件确定性生成艺术作品。代码和种子决定图像,图像本身不在链上。 同一份代码加同一个种子,在任何机器上都必须得到同一张图——这个页面就是为了让人验证这一点。
作品和 manifest 各一笔铭文,已确认在区块 1,586,885。字节与本地构建一致;inscribe/audit.mjs 不读本地记录,直接从交易里重解信封、重算 taproot 承诺与 BIP341 签名,共 30 项检查全部通过。
| 铭文 | txid | 字节 | 确认 |
|---|---|---|---|
| generator | d46a8d4d…e314ef | 5,721 | 区块 1,586,885 |
| manifest | 106d4c2e…b404ad | 600 | 区块 1,586,885 |
测试网的 ord 索引停在 1,416,517(主链 1,586,885,落后 170,368 块),/content/<id> 返回 HTTP 500。确认没有改变这一点——内容在链上,不等于内容可访问。
同一份输出,在两套完全不同的运行时里逐字节复现。conformance/port/ink_field.py
只用 Python 标准库,与 JS 版不共享一行代码——它把 Math.imul 的 32 位回绕、
>>> 的逻辑右移、Math.round 的 half-up、数字转字符串的最短往返,
逐条重写了一遍。
| 层 | 向量 | 钉住什么 |
|---|---|---|
| round2 | 17 | 舍入语义:half-up,不是 toFixed,也不是 Python 的 round |
| num2str | 11 | 数字 → 字符串:1000 不是 1000.0 |
| state | 23 | seed → PRNG 的四个 uint32 |
| artwork | 23 | seed → sha256(SVG) 与 traits |
5 个典型移植错误全部被抓。第一轮有 1 个存活——23 个作品向量都放过了
half-up 换成 banker's rounding,因为没有种子恰好落在 .5 上。原语级向量就是这么来的。
crypto.subtle 重算哈希做完整性校验。/content/<id>,其余逻辑不变。