跳到主要内容

分块与成员操作

TypeScript 使用 bigint,Go 使用 uint64 表示分块索引和源大小。成员查询会先认证完整 seed,并将摘要数量绑定到可信源大小,然后才返回匹配结果。

import {Digest, findBlockHash, verifyBlockInSeed} from 'masterseed';
async function checkMembership(seedBytes: Uint8Array[], block: Uint8Array, sourceSize: bigint, trustedSeedHashHex: string, trustedBlockHashHex: string) {
const expected = Digest.fromHex(trustedSeedHashHex); // 由可信协议提供
const blockHash = Digest.fromHex(trustedBlockHashHex);
const matches = await findBlockHash(seedBytes, expected, sourceSize, blockHash);
const checked = await verifyBlockInSeed(seedBytes, expected, sourceSize, block);
console.log(matches.matchCount, checked.blockIndex);
}

readBlockHash 接受实现 readAt(offset, length)RandomAccessSeed,并检查 seedSizeblockIndex。没有匹配是正常结果,不等同于验证错误。