Install
1. Download
The archives are for Linux. On macOS or Windows, run the node in Docker. macOS on Apple silicon also says arm64 to uname -m, but the archive will not run there.
The release has one archive for each CPU architecture (see the release notes). Check which you have:
Archives
- x86-64 (uname -m says x86_64)
- mina-0.20.0-linux-x86_64.tar.gz
- ARM64 (uname -m says aarch64)
- mina-0.20.0-linux-arm64.tar.gz
Download yours, the checksum list, its signature and the release signer. For ARM64, put arm64 in place of x86_64.
url=https://github.com/minanode/mina-rust/releases/download/v0.20.0
curl -fLO "$url/mina-0.20.0-linux-x86_64.tar.gz"
curl --fail-early -fLO "$url/SHA256SUMS" \
-O "$url/SHA256SUMS.sig" -O https://minanode.org/allowed_signers2. Verify and check the SHA-256
Verify the checksum list against the release key before checking the archive. Verification needs OpenSSH 8.2 or newer.
Release key fingerprint (SHA-256): SHA256:6h5S0dmb/Ogj3Hkk/E8+BwZZ1FiCsf8QbVvBzGqERdw.
Compare the signer file's fingerprint with the value above. Before trusting a new or changed key, confirm it through a separate trusted channel.
ssh-keygen -lf allowed_signers -E sha256ssh-keygen -Y verify -f allowed_signers \
-I [email protected] -n file \
-s SHA256SUMS.sig < SHA256SUMS &&
sha256sum --check --ignore-missing SHA256SUMSExpect a good signature for [email protected], then the archive's name and OK. If verification fails, stop. If the checksum says FAILED, delete the archive and download it again.
3. Unpack
mkdir mina-0.20.0
tar -xzf mina-0.20.0-linux-x86_64.tar.gz -C mina-0.20.0The directory holds the program, mina, with a README.txt, its build details in build-info.json, and the licences.
4. Run it
Install mina, then check it. Use the full path for the first check. A fresh shell may not have ~/.local/bin on PATH yet; add it to PATH to run mina by name.
mkdir -p ~/.local/bin &&
install -m 755 mina-0.20.0/mina ~/.local/bin/mina
~/.local/bin/mina --version
~/.local/bin/mina build-info--version prints one line, mina 0.20.0 and the WebRTC backend. build-info prints the version, build time, commit, Rust version and WebRTC backend, one per line. If mina --version by name prints something else, another mina comes first on PATH: see troubleshooting. Next: run a node.
Upgrading
Download and check the new archive as above. Stop the node, keep the previous binary, then replace it. Keep the work directory and start with the same flags. For the user service, use these commands:
systemctl --user stop minanode.service
cp ~/.local/bin/mina ~/.local/bin/mina.previous
install -m 755 mina-0.20.0/mina ~/.local/bin/mina
systemctl --user start minanode.serviceTo roll back this binary replacement:
systemctl --user stop minanode.service
install -m 755 ~/.local/bin/mina.previous ~/.local/bin/mina
systemctl --user start minanode.serviceFor a node started in a terminal, stop it with Ctrl-C instead of systemctl, and start it again the same way. Check future release notes for data-format changes before rolling back across versions.
Uninstalling
Stop the node first. If you installed the user service, remove it:
systemctl --user disable --now minanode.service
rm ~/.config/systemd/user/minanode.service
systemctl --user daemon-reloadRemove the binary installed by this guide:
rm ~/.local/bin/mina
rm -f ~/.local/bin/mina.previousThese commands keep the work directory. Remove ~/.mina, or your chosen directory, only if you no longer need its data, logs and saved worker settings. Back up any keys you put there first. Leave linger enabled if other user services rely on it.