ABX Explorer

abxfs-rs

An independent implementation of the ABX FS content layer in Rust: FastCDC chunking, FastLZ, chunk ids, chunk and entry node trees, file and directory CIDs, and IPFS CIDs. It plans a folder offline, reads published content back from chain, and checks that what is on chain matches a folder on disk. It writes nothing; publishing is done with the official abxfs CLI.

Check a folder

Pick a folder to compute its ABX FS root here, with the same Rust code compiled to WebAssembly. Then ask a chain whether that exact tree is stored. The files never leave this browser; a chain check sends only content ids (the root, the file CIDs and the chunk ids) to a public RPC endpoint, which the result names.

Planning here runs on a single thread, and this page plans folders of up to 64 MiB, 5,000 files and 32 directory levels. For anything larger, use the command line.

Drop a folder here, or .

The folder picker does not report empty directories, which the official CLI includes in a folder's root. Drag the folder in instead when it holds empty directories. Symlinks are never followed, as in the CLI.

Look up a root

Paste a directory or file root to list what a chain holds under it: every file with its size, type and file CID. Only small contract reads are made; file contents are not downloaded.

Same ids as the official tools

The reference outputs come from Art Blocks' own code: the official CLI's folder scan and the @artblocks/abxfs-sdk 0.2.0 offline planner. abxfs-rs reproduces every id in them, on three folders, each with and without FastLZ: every chunk id, backend and hash, every node id and byte, every file and directory CID, every IPFS CID, and the totals. Both the native build and this WebAssembly build pass all six sets.

FolderFilesRoot (FastLZ)
abx.thebenmeadows.com630x959aeb7c…e9d45a
find3r, as published230x49a02353…3b822d13
Edge cases (empty, 24,575-byte, 3 MiB of zeros, Unicode names, 2,000 files)2,0220x1027316f…1166d6f1

Reading is checked the same way: trees read by abxfs-rs read from Base and Base Sepolia are byte-identical to the official abxfs read, including a 5.3 MB file of 216 chunks and a gzip-encoded file. Every id is recomputed from the bytes as they arrive.

Speed

Measured on an Apple Silicon Mac, release build, three runs each, November 6, 2026.

TaskOfficialabxfs-rs
Plan the 2,022-file edge folder (SDK offline planner vs abxfs-rs plan)0.62 to 0.70 s0.03 to 0.06 s
Read a 5.3 MB file from Base Sepolia, sepolia.base.org8.6 s3.1 s

Planning runs files and chunks in parallel. Reading batches its calls through Multicall3 and reads chunk bytes straight from their SSTORE2 contracts, so it is not limited by the RPC's eth_call gas cap.

Use

cargo install --git https://github.com/mdws-org/abxfs-rs

abxfs-rs plan ./site                         # every id, offline
abxfs-rs plan ./site --json                  # the full plan as JSON
abxfs-rs read 0xROOT --chain base --out ./copy
abxfs-rs verify 0xROOT ./site --chain base   # exit 0 only on a full match

Chains: base, base-sepolia, ethereum, sepolia, arbitrum-one, arbitrum-sepolia; --rpc takes your own endpoint. Source and issues: github.com/mdws-org/abxfs-rs.