A self-contained static archive of the Tableland Rigs NFT collection, served with GitHub Pages at https://tablelandnetwork.github.io/rigs-static/.
metadata/<id>.json: ERC-721 metadata for Rigs 1 to 3000.images/<id>.jpg: one 1200x1200 image per Rig.thumbs/<id>.jpg: 300x300 thumbnails used by the gallery page.contract.json: collection-level metadata (contractURI).rigs.png: the collection image.index.html: a small gallery and per-Rig viewer (?rig=<id>, which is each Rig'sexternal_url)..nojekyll: serve files as-is on GitHub Pages.tools/: how this was built (see below).
The Rigs contract (0x8EAa9AE1Ac89B1c8C8a8104D08C045f78Aadb42D on Ethereum) builds tokenURI by joining URI template parts with the token ID. To serve metadata from this site, the owner calls:
setURITemplate(["https://tablelandnetwork.github.io/rigs-static/metadata/", ".json"])
setContractURI("https://tablelandnetwork.github.io/rigs-static/contract.json")
- Images: re-rendered from the source layers and part data in tablelandnetwork/rigs (
rigs local render), then resized from 4000px to 1200px JPEG (quality 90). Before resizing, each Rig's render folder was hashed and compared with its original IPFS CID. 2,990 match exactly. The other 10 (the Rigs using the Hoppers "Dawn Bit-Shift" part) differ in bytes but were checked visually against the published images.tools/render-manifest.csvhas the per-Rig results. - Metadata: generated by
tools/build_metadata.pyfromartifacts/tableland.dbin the rigs repo, which matches the live Tableland tables. It mirrors the former TablelandtokenURIresponse, including all traits and the four Filecoin Deal traits. Pilot status ("✈️ " in the name and the Garage Status trait) is frozen from the snapshot intools/inflight-snapshot-2026-10-09.json.animation_urlwas dropped because it depended on Tableland.
To rebuild the metadata for a different host:
python3 tools/build_metadata.py --tableland-db path/to/rigs/artifacts/tableland.db \
--inflight tools/inflight-snapshot-2026-10-09.json \
--base-url https://example.com --out .