Deterministic Builds
Build the uptickd
binary deterministically using Docker.
Pre-requisites
Introduction
The Tendermint rbuilder Docker image provides a deterministic build environment that is used to build Cosmos SDK applications. It provides a way to be reasonably sure that the executables are really built from the git source. It also makes sure that the same, tested dependencies are used and statically built into the executable.
Build with Docker
Clone uptick
:
git clone git@github.com:UptickNetwork/uptick.git
Checkout the commit, branch, or release tag you want to build (eg v0.1.0
):
cd uptick/
git checkout <version>
The buildsystem supports and produces binaries for the following architectures:
linux/amd64
Run the following command to launch a build for all supported architectures:
make distclean build-reproducible
The build system generates both the binaries and deterministic build report in the artifacts
directory. The artifacts/build_report
file contains the list of the build artifacts and their respective checksums, and can be used to verify build sanity. An example of its contents follows:
App: uptickd
Version: main-b64818534efefde25ef06f51c0011759a26a72ed
Commit: b64818534efefde25ef06f51c0011759a26a72ed
Checksums-Sha256:
90c3ce170d19b6b86d31a9cf3becef68f4d232bd2ae5ec95039d2396fe0d872c uptickd-main-b64818534efefde25ef06f51c0011759a26a72ed-linux-amd64
d4b84ca499c847e3de5f8ac7a69ce5f436f3ae206e18de8bd355ee545d930f4f uptickd-main-b64818534efefde25ef06f51c0011759a26a72ed.tar.gz
Last updated