# Provenance of Aeva v1.0.1-beta.1

* Source: tag `v1.0.1-beta.1`, commit `36d47722a6fdccd70d1d2e1a2b8e4621a58ff219`.
* Toolchain: Go 1.26.5, `CGO_ENABLED=0`, `GOFLAGS=-mod=readonly`,
  `GOMODCACHE=/tmp/aeva-release-gomod`.
* Flags: `-trimpath -buildvcs=false`; no VCS data in the binaries. The version
  and the short commit are set with `-ldflags`. `-trimpath` leaves the module
  cache's path of assembly files included from another directory
  (gnark-crypto) in the binaries, so the module cache sits at that fixed path.
* Reproducible: the binaries were built twice from a clean `git archive`
  of the tag, each time from an empty build cache; both builds were
  byte-identical.

## Rebuild

```sh
git checkout v1.0.1-beta.1
export GOTOOLCHAIN=go1.26.5 CGO_ENABLED=0 GOFLAGS=-mod=readonly GOMODCACHE=/tmp/aeva-release-gomod
cd chain && GOOS=linux GOARCH=amd64 go build -trimpath -buildvcs=false \
  -ldflags "-s -w -X github.com/cosmos/cosmos-sdk/version.Name=aeva -X github.com/cosmos/cosmos-sdk/version.AppName=aevad -X github.com/cosmos/cosmos-sdk/version.Version=v1.0.1-beta.1 -X github.com/cosmos/cosmos-sdk/version.Commit=36d47722a6fd -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,ledger" \
  -tags "netgo,ledger" -o aevad-v1.0.1-beta.1-linux-amd64 ./cmd/aevad
cd ../indexer && GOOS=linux GOARCH=amd64 go build -trimpath -buildvcs=false \
  -ldflags "-s -w -X main.version=v1.0.1-beta.1 -X main.commit=36d47722a6fd" -o aeva-indexer-v1.0.1-beta.1-linux-amd64 ./cmd/aeva-indexer
cd ../tools/mainnet-beta/rpcguard && GOOS=linux GOARCH=amd64 go build -trimpath -buildvcs=false \
  -ldflags "-s -w" -o aeva-rpc-guard-v1.0.1-beta.1-linux-amd64 .
sha256sum ../../../chain/aevad-v1.0.1-beta.1-linux-amd64 ../../../indexer/aeva-indexer-v1.0.1-beta.1-linux-amd64 aeva-rpc-guard-v1.0.1-beta.1-linux-amd64   # compare with SHA256SUMS
```

`GOARCH=arm64` builds the arm64 binaries the same way.
