Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A docker image for building contracts #151

Closed
MaksymZavershynskyi opened this issue May 14, 2020 · 5 comments
Closed

A docker image for building contracts #151

MaksymZavershynskyi opened this issue May 14, 2020 · 5 comments

Comments

@MaksymZavershynskyi
Copy link
Contributor

We need a standardized docker image for building Rust contracts so that we can:

  • Prove that certain Wasm binary was produced from a certain code;
  • Avoiding leaking user information into Wasm binary, like absolute file paths.
@frol
Copy link
Collaborator

frol commented May 14, 2020

I want to highlight that this is a security concern, and here is some relevant context about bit-for-bit reproducible builds: rust-lang/rust#34902

@frol
Copy link
Collaborator

frol commented Jun 19, 2020

/cc @olonho @evgenykuzyakov @bowenwang1996

Reading the issue referenced above, bit-for-bit reproducible builds mostly work, but you still need the same OS and environment, I believe, so Docker image should be a good shortcut on achieving reproducibility.

@frol
Copy link
Collaborator

frol commented Jul 13, 2020

https://dev.to/gnunicorn/hunting-down-a-non-determinism-bug-in-our-rust-wasm-build-4fk1

TL;DR: They use Docker to have some guarantee about build reproducibility, but they learned that some source code can trigger non-reproducible builds.

@frol
Copy link
Collaborator

frol commented Aug 6, 2020

https://www.reddit.com/r/rust/comments/i4ij47/rustc_1441_is_reproducible_in_debian/

Rustc 1.44.1 is able to produce a reproducible build of itself and the rust team is going to maintain this state things going forward 🥇

@evgenykuzyakov
Copy link
Contributor

This seems to be fixed by #195

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants