Files

48 lines
1.8 KiB
Markdown

# Building Nerbus Wallet
## Windows x64
Install Visual Studio C++ Build Tools, Qt 6.6.2 MSVC x64, CMake, and Ninja.
From PowerShell in this repository, download the pinned libsodium dependency:
```powershell
powershell -ExecutionPolicy Bypass -File scripts/fetch-sodium.ps1
```
From an x64 Visual Studio developer prompt:
```bat
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=C:/Qt/6.6.2/msvc2019_64
cmake --build build --parallel 2
C:/Qt/6.6.2/msvc2019_64/bin/windeployqt.exe --release --compiler-runtime build/nerbus-qt.exe
copy nerbus.svg build\nerbus.svg
```
Copy the separately built `nerbus-wallet-core.exe` beside `nerbus-qt.exe`.
`libsodium.dll` is copied by CMake. Distribute the complete runtime folder.
## Linux x86_64
```sh
sudo apt-get install build-essential cmake pkg-config qt6-base-dev libqt6svg6-dev libsodium-dev
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j2
cp nerbus.svg build/
```
Place a native `nerbus-wallet-core` beside `nerbus-qt`. Install Qt runtime
dependencies or bundle them with the desktop application. The prepared Linux
package targets Ubuntu 22.04 / glibc 2.35 and uses X11 or XWayland.
## Offline signing helper
Clone and build [Nerbus Core](https://git.nerbus.com/nerbus/nerbus) for the target
platform first. `core/nerbus-wallet-core.cpp` replaces the transaction utility's
entry point and includes its original source. The detailed procedure is in
[BUILD.txt](BUILD.txt), section OFFLINE NRB CORE COMPONENT. Keep this helper
separate from the standard `nerbus-tx` utility and restore the original source
and utility after compiling it. Windows dependencies must be built with MinGW;
the GUI uses MSVC, and they communicate over an anonymous pipe.
The server bridge is in `server/`. It is not required for local address creation.