Be sure to clone the repository properly:\
$ git clone --recursive https://github.com/hyle-team/zano.git
component / version | minimum (not recommended but may work) |
recommended | most recent of what we have ever tested |
---|---|---|---|
gcc (Linux) | 5.4.0 | 9.4.0 | 12.3.0 |
llvm/clang (Linux) | UNKNOWN | 7.0.1 | 8.0.0 |
MSVC (Windows) | 2017 (15.9.30) | 2019 (16.11.34) | 2022 (17.9.5) |
XCode (macOS) | 12.3 | 14.3 | 15.2 |
CMake | 3.15.5 | 3.26.3 | 3.29.0 |
Boost | 1.70 | 1.70 | 1.84 |
OpenSSL (win) | 1.1.1n | 1.1.1w | 1.1.1w |
Qt (only for GUI) | 5.8.0 | 5.11.2 | 5.15.2 |
Note:\ [server version] denotes steps required for building command-line tools (daemon, simplewallet, etc.).\ [GUI version] denotes steps required for building Zano executable with GUI.
Recommended OS versions: Ubuntu 20.04, 22.04 LTS.
Prerequisites
[server version]
sudo apt-get install -y build-essential g++ curl autotools-dev libicu-dev libbz2-dev cmake git screen checkinstall zlib1g-dev
[GUI version]
sudo apt-get install -y build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev cmake git screen checkinstall zlib1g-dev mesa-common-dev libglu1-mesa-dev
Clone Zano into a local folder\ (If for some reason you need to use alternative Zano branch, change 'master' to the required branch name.)
git clone --recursive https://github.com/hyle-team/zano.git -b master
In the following steps we assume that you cloned Zano into '~/zano' folder in your home directory.
Download and build Boost\ (Assuming you have cloned Zano into the 'zano' folder. If you used a different location for Zano, edit line 4 accordingly.)
curl -OL https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/boost_1_70_0.tar.bz2 echo "430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778 boost_1_70_0.tar.bz2" | shasum -c && tar -xjf boost_1_70_0.tar.bz2 rm boost_1_70_0.tar.bz2 && cd boost_1_70_0 patch -p0 < ../zano/utils/boost_1.70_gcc_8.patch || cd .. ./bootstrap.sh --with-libraries=system,filesystem,thread,date_time,chrono,regex,serialization,atomic,program_options,locale,timer,log ./b2 && cd .. Make sure that you see "The Boost C++ Libraries were successfully built!" message at the end.
Install Qt\ (GUI version only, skip this step if you're building server version)
[GUI version]
curl -OL https://download.qt.io/new_archive/qt/5.11/5.11.2/qt-opensource-linux-x64-5.11.2.run chmod +x qt-opensource-linux-x64-5.11.2.run ./qt-opensource-linux-x64-5.11.2.run Then follow the instructions in Wizard. Don't forget to tick the WebEngine module checkbox!
Install OpenSSL
We recommend installing OpenSSL v1.1.1w locally unless you would like to use the same version system-wide.\
(Assuming that $HOME
environment variable is set to your home directory. Otherwise, edit line 4 accordingly.)
curl -OL https://www.openssl.org/source/openssl-1.1.1w.tar.gz echo "cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8 openssl-1.1.1w.tar.gz" | shasum -c && tar xaf openssl-1.1.1w.tar.gz cd openssl-1.1.1w/ ./config --prefix=$HOME/openssl --openssldir=$HOME/openssl shared zlib make && make test && make install && cd ..
[OPTIONAL] Set global environment variables for convenient use\
For instance, by adding the following lines to ~/.bashrc
[server version]
export BOOST_ROOT=/home/user/boost_1_70_0
export OPENSSL_ROOT_DIR=/home/user/openssl
[GUI version]
export BOOST_ROOT=/home/user/boost_1_70_0
export OPENSSL_ROOT_DIR=/home/user/openssl
export QT_PREFIX_PATH=/home/user/Qt5.11.2/5.11.2/gcc_64
NOTICE: Please edit the lines above according to your actual paths.
NOTICE 2: Make sure you've restarted your terminal session (by reopening the terminal window or reconnecting the server) to apply these changes.
Build the binaries
If you skipped step 6 and did not set the environment variables:
cd zano && mkdir build && cd build BOOST_ROOT=$HOME/boost_1_70_0 OPENSSL_ROOT_DIR=$HOME/openssl cmake .. make -j1 daemon simplewallet
If you set the variables in step 6:
cd zano && mkdir build && cd build cmake .. make -j1 daemon simplewallet
or simply:
cd zano && make -j1
NOTICE: If you are building on a machine with a relatively high amount of RAM or with the proper setting of virtual memory, then you can use -j2
or -j
option to speed up the building process. Use with caution.
NOTICE 2: If you'd like to build binaries for the testnet, use cmake -D TESTNET=TRUE ..
instead of cmake ..
.
Build GUI:
cd zano utils/build_script_linux.sh
Look for the binaries in build
folder
Recommended OS version: Windows 7 x64, Windows 11 x64.
utils/configure_local_paths.cmd
.utils/configure_win64_msvsNNNN_gui.cmd
according to your MSVC version.In order to correctly deploy Qt GUI application, you also need to do the following:
depoy
). PATH_TO_QT\bin\windeployqt.exe deploy\Zano.exe
.\src\gui\qt-daemon\html
to deploy\html
.Zano.exe
Recommended OS version: macOS Big Sur 11.4 x64.
utils/macosx_build_config.command
.mkdir build
cd build
cmake ..
make
To build GUI application:
utils/build_script_mac_osx.sh
/buid_mac_osx_64/release/src
ZANO @dev
BTC bc1qpa8w8eaehlplfepmnzpd7v9j046899nktxnkxp
BCH qqgq078vww5exd9kt3frx6krdyznmp80hcygzlgqzd
ETH 0x206c52b78141498e74FF074301ea90888C40c178
XMR 45gp9WTobeB5Km3kLQgVmPJkvm9rSmg4gdyHheXqXijXYMjUY48kLgL7QEz5Ar8z9vQioQ68WYDKsQsjAEonSeFX4UeLSiX