Validate car block bytes with web3.storage supported codecs
car-block-validator
validates @ipld/car blocks for the given hashers:
hashes | import | repo |
---|---|---|
sha2-256 , sha2-512 |
multiformats/hashes/sha2 |
multiformats/js-multiformats |
sha3-224 , sha3-256 , sha3-384 ,sha3-512 , shake-128 , shake-256 , keccak-224 , keccak-256 , keccak-384 , keccak-512 |
@multiformats/sha3 |
multiformats/js-sha3 |
identity |
multiformats/hashes/identity |
multiformats/js-multiformats |
murmur3-128 , murmur3-32 |
@multiformats/murmur3 |
multiformats/js-murmur3 |
blake2b-* , blake2s-* |
@multiformats/blake2 |
multiformats/js-blake2 |
# install it as a dependency
$ npm i @web3-storage/car-block-validator
import { validateBlock } from '@web3-storage/car-block-validator'
// Read CAR file as wished
// const inStream = fs.createReadStream(process.argv[2])
// const reader = await CarBlockIterator.fromIterable(inStream)
for await (const block of reader) {
await validateBlock(block)
// throws if not valid, either unknown codec or not valid bytes
}