-
Notifications
You must be signed in to change notification settings - Fork 86
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
Please provide verifiable builds #1
Comments
container with both android and xcode sdk is not very easy to use - actually we are pushing here only stable releases from our internal repository - cose so many work and changes every day - but @rhrusha will answer more about build |
Looking forward to public verifiability. Especially in open source wallets a documentation for build verification is the most convincing statement that build verification is also done internally, which is crucial to avoid single engineers in distress doing catastrophic things. |
Deterministic builds it's our goal and we moving in this way. Shortly we will add build instructions for Android and IOS. Then we will be updating instructions step-by-step to reach the true deterministic build. |
@Giszmo we have updated repository with build instructions for Android. We do not provide yet deterministic builds, there is only verifiable build instruction that anyone can use to build Android APK which can be installed to android device. IOS instructions is coming. |
Things look slightly better but verification fails due to the correct revision not being available. Please let us know once the correct version is tagged. Also please read our updated review. |
Is there any progress? Should we re-evaluate? |
Same question again, half a year later ... |
We focusing now on resolving this issue with verifiable builds. |
Hi Leo, Based on your method of build verification we developed instructions how to build and verify our application. Waiting for your feedback. |
The instructions start with (I would love to see a non-GitHub repo and yet better a self-hosted GitLab but ideally cloning requires no credentials at all.) Else, the claim that Google adds stuff is strange to me. Are you using App Bundles? To sweep all the rest of the diffs under the rug, claiming:
is not very convincing. If you don't understand exactly what those diffs are, how can you be certain they are not malicious? Without trying things myself I see no way this could pass as reproducible. Lines like I have no idea if there is a way to reproduce apps distributed using app bundles but without some canonical tool that reliably reproduces binaries app-bundle based apps might very well generally not be reproducible until Google comes around and fixes it. |
So following the instruction using the repo on GitHub gets me this error:
|
The script is not very robust in that it doesn't delete potentially stale data when running again. The relevant docker containers should probably not be used from cache. At least not all:
|
Hi Leo,
We are reviewing the rest related with building process and then will get back to you. |
So I tried to reproduce this product again. First of all I was missing a tag for what I got from Google Play - "1.51.6" - but I ran into more issues and ultimately gave up on building. Please update the build instructions. Please explain how to invoke Here is my full log, soon to be published on walletscrutiny: Update 2023-09-29: We have not had a look in a long time. While the last On Google Play we downloaded version So ... the build instructions say:
That version of Ubuntu would still be supported under the
Installing this we get a warning: "Node.js 10.x is no longer actively supported! [...] You should migrate to a supported version of Node.js as soon as possible." So we assume the build instructions are not up to date ... ... and node developers are really trying to dissuade us from installing this
so this might be due to the build instructions being outdated, using old tools. But how about theAndroid verifiable builds section?
That looks benign but also like it could use some parameters ...
That's already a problem. We'd have to build
Ok, this builds on Ubuntu 20.04, not like the build instructions above on 16.04. Node still is being installed deprecated scripts:
But we get our local image from source and can continue ...
So as mentioned above, the lacking arguments are indeed a problem. Let's try the
So ... we got the error from before again and conclude, the current version is |
Hi, this is keraliss from walletscrutiny, we tried to build the wallet using the dockerfile provided in the repository, and got this error gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)
gyp ERR! System Linux 6.1.0-20-amd64
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /trustee/src/node_modules/sha3
gyp ERR! node -v v18.20.2
gyp ERR! node-gyp -v v10.0.1
gyp ERR! not ok
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
The command '/bin/sh -c cd ./src && yarn install --no-progress --frozen-lockfile' returned a non-zero code: 1 As per our understanding, The build error stems from a failure during the Can someone please help on resolving this? |
I tried to build your wallet but failed. Could you look into the issues found and make it easier to reproduce your release builds? Above link has an in detail description of what I tried. For deterministic builds it is usually best to work with docker containers, so that as little parameters as possible are left to random chance.
The text was updated successfully, but these errors were encountered: