cake_wallet/docs/builds/WINDOWS.md
cyan 102ab8dbe6
CW-875 BackupServiceV3 ()
* implement v3 backup system

- Add new BackupServiceV3 with chunked backup support and checksums
- Implement json-based metadata in backup system
- Instead of binary file export a .zip file that user can open and
see that it is a cake backup
(should also prevent 3rd party software from corrupting binary
data inside of the file, in case it doesn't checksum will fail,
and user will know for sure that backup got corrupted)
- Update flutter to 3.27.4 to use archive ^4.x.x (it offers in memory
archive operations)

* fix wallets not getting restored properly

* prevent out of memory errors on files that are way too big during restore

* Update lib/view_model/backup_view_model.dart [skip ci]

* Update lib/core/backup_service.dart [skip ci]

* Update lib/core/backup_service.dart

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-03-22 03:16:54 +02:00

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:

  1. Follow the Development Tools installation instructions
    1. NOTE: Be sure to install the Desktop Development with C++ workload in Visual Studio as outlined in the docs.
  2. Add git to your path by going to Start Menu > search "environment" > Environment Variables > double-click Path > Add C:\Program Files\Git\bin\ on a new line.

Lastly, you'll need to install Nuget separately:

  1. Download the exe from https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
  2. Create a new directory, C:\Program Files\Nuget\
  3. Move or copy the nuget.exe binary you just downloaded into the newly created directory above.
  4. Add nuget to your path by going to Start Menu > search "environment" > Environment Variables > double-click Path > Add C:\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).

  1. Open a Powershell window by going to the Start Menu and searching for "Powershell"
  2. Install WSL with the command wsl --install
  3. 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
.\cakewallet.bat

After running the script above, you should get Cake Wallet.zip in the project's root directory which will contain CakeWallet.exe and other needed files for running the application. Now you can extract files from Cake Wallet.zip archive and run the application.