wasabi-docs-test
  • Introduction
  • README
  • Installation and Debugging
    • Installation
    • Deterministic Build
    • Debugging
  • Deployment
    • Client Deployment
    • Backend Deployment
  • Contributing and Community
    • Contributing
    • Dojo
    • License
    • Report a Vulnerability
  • FAQ
    • FAQ
  • GitBook Tests
    • Links
Powered by GitBook
On this page
  • 1: Assert Correct Environment
  • 2. Reproduce Builds
  • 3. Verify Builds
  • Windows
  • Linux && OSX

Was this helpful?

  1. Installation and Debugging

Deterministic Build

PreviousInstallationNextDebugging

Last updated 5 years ago

Was this helpful?

Reproducible [or deterministic] builds are a set of software development practices that create an independently-verifiable path from source to binary code.- https://reproducible-builds.org/

This guide describes how to reproduce Wasabi's builds. If you got stuck with these instructions, take a look at how to build Wasabi from source code: https://github.com/zkSNACKs/WalletWasabi#build-from-source-code

1: Assert Correct Environment

In order to reproduce Wasabi's builds you need a Git, a Windows 10 and the version of .NET Core SDK that was the most recent in the time of building the release.

2. Reproduce Builds

git clone https://github.com/zkSNACKs/WalletWasabi.git
git checkout {hash of the release} // This works from 1.1.3 release, https://github.com/zkSNACKs/WalletWasabi/releases
cd WalletWasabi/WalletWasabi.Packager/
dotnet restore
dotnet build
dotnet run -- --onlybinaries

This will build our binaries for Windows, OSX and Linux from source code and open them in a file explorer for you.

3. Verify Builds

You can compare our binaries with the downloads we have on the website: https://wasabiwallet.io/ In order to end-to-end verify all the downloaded packages you need a Windows, a Linux and an OSX machine.

Windows

After you installed Wasabi from the .msi, it'll be in C:\Program Files\WasabiWallet folder. You can compare it with your build:

git diff --no-index win7-x64 "C:\Program Files\WasabiWallet"

Linux && OSX

You can use the Windows Subsystem for Linux to verify all the packages in one go. At the time of writing this guide we provide a .tar.gz and a .deb package for Linux and .dmg for OSX. Install the .deb package and extract the tar.gz and .dmg packages, then compare them with your build.

After installing WSL, just type wsl in explorer where your downloaded and built packages are located:

.deb

sudo dpkg -i Wasabi-1.1.6.deb
git diff --no-index linux-x64/ /usr/local/bin/wasabiwallet/

.tar.gz

tar -pxzf WasabiLinux-1.1.6.tar.gz
git diff --no-index linux-x64/ WasabiLinux-1.1.6

.dmg

You'll need to install 7z (or something else) to extract the .dmg: sudo apt install p7zip-full

7z x Wasabi-1.1.6.dmg -oWasabiOsx
git diff --no-index osx-x64/ WasabiOsx/Wasabi\ Wallet.App/Contents/MacOS/