Compiling from source
Penumbra is written in Rust. To build it, you will need a recent stable version of Rust, as well as a few OS-level dependencies. We don’t support building on Windows. If you need to use Windows, consider using WSL instead.
Installing the Rust toolchain
This requires that you install a recent (>= 1.75) stable version
of the Rust compiler, installation instructions for which you can find
here. Don’t forget to reload your shell so that
cargo
is available in your $PATH
!
You can verify the rust compiler version by running rustc --version
which should indicate version 1.75 or later.
Installing build prerequisites
Linux
You may need to install some additional packages in order to build pcli
,
depending on your distribution. For a bare-bones Ubuntu installation, you can
run:
sudo apt-get install build-essential pkg-config libssl-dev clang git-lfs
For a minimal Fedora/CentOS/RHEL image, you can run:
sudo dnf install openssl-devel clang git cargo rustfmt git-lfs
macOS
You may need to install the command-line developer tools if you have never done so:
xcode-select --install
You’ll also need to install Git LFS, which you can do via Homebrew:
brew install git-lfs
Making sure that git-lfs
is installed
Running git lfs install
will make sure that git-lfs is correctly installed on your machine.
Cloning the repository
Once you have installed the above packages, you can clone the repository:
git clone https://github.com/penumbra-zone/penumbra
To build the versions of pcli
, pd
, etc. compatible with the current testnet,
navigate to the penumbra/
folder, fetch the latest from the repository, and check out the
latest tag for the current
testnet:
cd penumbra && git fetch && git checkout v0.73.0
If you want to build the most recent version compatible with the “preview” environment,
then run git checkout main
instead.
Building the binaries
Then, build all the project binaries using cargo
:
cargo build --release