跳到主要内容

创建与验证流程

创建过程逐块哈希源数据,并把原始 32 字节摘要写入 sink。验证必须使用可信上层协议提供的 seed_hash;如有源大小,也应绑定源大小。结构合法的 seed 本身不能证明发布者身份。

import {createSeed, verifySeed, Digest} from 'masterseed';
const source = (async function* () { yield new TextEncoder().encode('hello'); })();
const seedBytes: Uint8Array[] = [];
const info = await createSeed(source, {write: async (digest) => { seedBytes.push(digest.slice()); }});
const verified = await verifySeed(seedBytes, Digest.fromHex(info.seedHashHex));
console.log(verified.blockCount, verified.seedHashHex);

ByteSource 每次只消费一次;下一次验证请创建新的 iterable 或重新打开文件适配器。