bytecodealliance / bytecodealliance/wizer

Request for reproducible build

Open
#153 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
1.1k
Forks
64
PR merge metrics
No merged PRs in 30d

Description

We use Wizer via Javy to compile their TS to WASM. Our customers need to prove their WASM builds, similar to what's done on blockchains. Today, Go customers can do so because Go has reproducible builds, but our TS customers will still need to use Docker because Wizer doesn't offer reproducible builds for the same input.

My ask is to add a flag to the CLI and a the builder that enables reproducible output from Wizer.

Claude suggested

`smallest_gaps.sort_unstable_by_key(|g| g.gap);` could be replaced with s`mallest_gaps.sort_by(|a, b| a.gap.cmp(&b.gap).then(a.index.cmp(&b.index)));`, but that alone didn't suffice. Running on a Mac M2 and a Linux Docker image on my Mac still produced different binaries (Linux x64 had the same as Linux Arm when I specified a platform). The binaries even had different sizes.

In our case, the Javy plugin itself is compiled in a Docker, since Rust isn't deterministic, but it would be good if that could be verified once, then our customer code verified to use that plugin without requiring a Docker.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.