a manifold extension to port fully onchain an existing collection minted with offchain content
clgsms/encode/convert.sh
Shell · 21 lines · 597 BRAWDOWNLOAD
IN=./onchain
OUT=./base64
PREFIX='data:image/octet-stream;base64,'
mkdir -p "$OUT"
for f in "$IN"/*.avif; do
b=$(basename "${f%.*}")
{ printf '%s' "$PREFIX"; base64 < "$f" | tr -d '\n'; } > "$OUT/$b.txt"
printf '%-24s %9d B -> %9d B x%.4f\n' "$b" \
"$(wc -c <"$f")" "$(wc -c <"$OUT/$b.txt")" \
"$(echo "scale=6;$(wc -c <"$OUT/$b.txt")/$(wc -c <"$f")"|bc)"
done
echo "--- verifying round trip ---"
for f in "$IN"/*.avif; do
b=$(basename "${f%.*}")
if sed "s|^$PREFIX||" "$OUT/$b.txt" | base64 -d | cmp -s - "$f"
then echo "OK $b"
else echo "MISMATCH $b"
fi
done