Chromie Squiggle #292
Token hash: 0xbfbfcd75b5335b4ec1c0c58b37cbffb3e7e1fed13319bf1e5269d8fe3514fad7
Erick Calderon (Snowfro) · Art Blocks · 2020
An archive prepared for The Museum of Modern Art covering the eight Chromie Squiggles in the collection. Each work is presented in three forms: the original on-chain Art Blocks HTML, a modern JavaScript port built for exhibition, and an experimental C++ port for long-term preservation research.
The collection
For each work, Original HTML opens the self-contained on-chain version, JS Port opens the modern exhibition renderer, and Art Blocks Generator opens the live token on Art Blocks' own infrastructure for side-by-side reference. Click or tap any rendered Squiggle to animate it; press space to cycle the background.
Token hash: 0xbfbfcd75b5335b4ec1c0c58b37cbffb3e7e1fed13319bf1e5269d8fe3514fad7
Token hash: 0x3c12f07f6cd107e16b96946de9515119c2e1a8c6e324130724ee01d3525ec508
Token hash: 0x8ad235c91383772cd6460ee47cb347e02b20d1652a521617f96f18fa376179d8
Token hash: 0xd576584a632bba3088a8590d6e5c8e5682da0ae98b6f320efd2d7c7b17c0df9c
Token hash: 0xbf307a8822510f166df790064571d4ce80a82048b6c8d0ffafc9285c02423995
Token hash: 0xfd8975cd0b9b05ac6429c23db3ca66ed01d12dcbf8af7cc126a94f2cd8a4ae14
Token hash: 0x24cf8c2777aa0dfbb8f101a4c46e163e718d6fbe5aeba5cb1c4b90d099dcd6a8
Token hash: 0x334753dc3cf47cb41ebebd9eac0ace52aa56c97d3af67a9151a4c849071a4e6e
The authoritative version
Each file in standalone_html/ is a single, self-contained HTML document that reproduces what the Art Blocks generator assembles when a Chromie Squiggle is viewed. Everything is in one place, in one file:
tokenData — the same mechanism the on-chain generator uses to seed each work.These files are the verification and preservation copies. They can be opened directly from disk in any modern browser, with no server and no internet connection, and they preserve the work's original 1:1.5 presentation ratio.
For fully independent verification, the same artwork can be reconstructed entirely from the blockchain: the Art Blocks On-Chain Generator contract (0x953D288708bB771F969FCfD9BA0819eF506Ac718) assembles identical HTML from on-chain data for any token of the Chromie Squiggle core contract (0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a). The per-work Art Blocks Generator links above render each token live on Art Blocks' own infrastructure for side-by-side comparison.
For exhibition
This is a port, not the original. The renderer in pure_js_renderer/ is a re-implementation of the Chromie Squiggle algorithm in dependency-free JavaScript, written by the artist's studio. It reads the same token hash and draws the same Squiggle, but it is not the script stored on chain.
Why it exists: the original 2020 script runs on p5.js and was written for the browsers of its time. For long-running gallery display, the port offers practical advantages:
Each JS Port link above passes the work's token ID and hash directly in the URL, so the port files also work offline, opened straight from disk. When questions of authenticity arise, always defer to the original HTML files.
For preservation research
The cpp_renderer/ folder contains a native C++/SDL2 implementation of the same algorithm. It exists as preservation research: a demonstration that the work can outlive the web browser entirely, since it depends only on a C++ compiler and the SDL2 graphics library. It is experimental and has not been exhaustively compared against the original browser output — treat it as a development artifact, not a display copy.
To build and run it on macOS or Linux:
brew install sdl2 cmake # macOS; on Linux use your package manager
cd cpp_renderer
cmake -S . -B build
cmake --build build
./build/apps/sdl/squiggle_sdl \
--hash 0xbfbfcd75b5335b4ec1c0c58b37cbffb3e7e1fed13319bf1e5269d8fe3514fad7 \
--width 1280 --height 800
Replace --hash with any hash from the works above (all eight are also listed in tokens.json) to render that Squiggle. Further options are documented in cpp_renderer/README.md.
Take it offline