- configure_cake_wallet.sh -> configure_hash_wallet.sh
- cakewallet.bat -> hashwallet.bat (and Hash Wallet.zip output, Build\Hash Wallet)
- com.cakewallet.CakeWallet.yml -> com.suchsoftware.HashWallet.yml (Flatpak app-id changed)
- linux/com.cakewallet.CakeWallet.desktop -> linux/com.suchsoftware.HashWallet.desktop
- scripts/{macos,windows,linux}/cakewallet.sh -> hashwallet.sh
- scripts/linux/build_cake_release.sh -> build_hash_release.sh (output is hash_wallet.flatpak)
- README + docs/builds/{WINDOWS,LINUX}.md cross-refs updated
The Flutter binary name 'cake_wallet' is intentionally retained — renaming
the Dart project name would force ~all 'package:cake_wallet/...' imports
to be rewritten and break upstream cherry-picks.
3.6 KiB
Building Cake Wallet for Windows
Requirements and Setup
The following are the system requirements to build Cake Wallet for your Windows PC.
Windows 10 or later (64-bit), x86-64 based
Flutter 3.27.4
1. Installing Flutter
Install Flutter, specifically version 3.27.4 by following the official docs.
In order for Flutter to function, you'll also need to enable Developer Mode:
Start Menu > search for "Run" > type ms-settings:developers, and turn on Developer Mode.
NOTE: as 3.27.4 is not the latest version, you'll need to download it from https://docs.flutter.dev/release/archive instead of the link in the docs above.
2. Install Development Tools
Install Git for Windows and Visual Studio 2022:
- Follow the Development Tools installation instructions
- NOTE: Be sure to install the
Desktop Development with C++workload in Visual Studio as outlined in the docs.
- NOTE: Be sure to install the
- Add
gitto your path by going to Start Menu > search "environment" > Environment Variables > double-click Path > AddC:\Program Files\Git\bin\on a new line.
Lastly, you'll need to install Nuget separately:
- Download the exe from https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
- Create a new directory,
C:\Program Files\Nuget\ - Move or copy the
nuget.exebinary you just downloaded into the newly created directory above. - Add
nugetto your path by going to Start Menu > search "environment" > Environment Variables > double-click Path > AddC:\Program Files\Nuget\on a new line.
3. Installing WSL (Windows Subsystem for Linux)
For building Monero dependencies, it is required to install Windows WSL and required packages for WSL (Ubuntu).
- Open a Powershell window by going to the Start Menu and searching for "Powershell"
- Install WSL with the command
wsl --install - Install the necessary Ubuntu dependencies
wsl --install
wsl sudo apt update
wsl sudo apt install -y autoconf build-essential ccache cmake curl gcc gcc-mingw-w64-x86-64 git g++ g++-mingw-w64-x86-64 gperf lbzip2 libtool make pkg-config pigz
4. Installing Rust
Install Rust and other Rust-related dependencies using rustup.rs by running the following command:
wsl curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
5. Acquiring the Cake Wallet source code
Download the latest release tag of Cake Wallet and enter the source code directory:
git clone https://github.com/cake-tech/cake_wallet.git --branch main
cd cake_wallet
NOTE: Replace main with the latest release tag available at https://github.com/cake-tech/cake_wallet/releases/latest.
6. Build Monero, monero_c, and dependencies
To use Monero in Cake Wallet, you must build the Monero_C wrapper which will be used by monero.dart package.
Run the following in a WSL terminal window (set the Git username and email as desired):
wsl
git config --global user.email "builds@cakewallet.com"
git config --global user.name "builds"
./build_all.sh
7. Configure and build Cake Wallet application
To configure the application, run the following:
exit
.\hashwallet.bat
After running the script above, you should get Hash Wallet.zip in the project's root directory which will contain cake_wallet.exe (Flutter binary name retained from upstream) and other needed files for running the application. Now you can extract files from Hash Wallet.zip archive and run the application.