[{"data":1,"prerenderedAt":656},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fcore-tech\u002Fhow-to-build(old)":3,"docs-surround-\u002Fdocs\u002Fcore-tech\u002Fhow-to-build(old)":645},{"id":4,"title":5,"body":6,"description":183,"extension":637,"image":638,"meta":639,"navTitle":638,"navigation":640,"path":641,"seo":642,"stem":643,"__hash__":644},"docs\u002Fdocs\u002Fcore-tech\u002FHow-to-build(old).md","Windows",{"type":7,"value":8,"toc":626},"minimark",[9,13,127,131,138,168,174,184,193,199,209,215,221,237,242,245,283,287,290,313,317,320,338,342,345,371,375,378,381,416,420,423,448,452,455,480,484,487,503,507,617],[10,11,5],"h1",{"id":12},"windows",[14,15,16,20,40,57,83,96,106],"ol",{},[17,18,19],"li",{},"Install Visual Studio >= 2017 with CMake support.",[17,21,22,23,29,30,34,35,39],{},"Download and install Boost prebuilt binaries ",[24,25,26],"a",{"href":26,"rel":27},"https:\u002F\u002Fsourceforge.net\u002Fprojects\u002Fboost\u002Ffiles\u002Fboost-binaries\u002F1.68.0\u002Fboost_1_68_0-msvc-14.1-64.exe",[28],"nofollow",", also add ",[31,32,33],"code",{},"BOOST_ROOT"," to the ",[36,37,38],"em",{},"Environment Variables",".",[17,41,42,43,47,48,51,52,34,55,39],{},"Download and install OpenSSL prebuilt binaries ",[24,44,45],{"href":45,"rel":46},"https:\u002F\u002Fslproweb.com\u002Fproducts\u002FWin32OpenSSL.html",[28]," (",[31,49,50],{},"Win64 OpenSSL v1.1.0h"," for example) and add ",[31,53,54],{},"OPENSSL_ROOT_DIR",[36,56,38],{},[17,58,59,60,64,65,34,68,70,71,74,75,78,79,82],{},"Download and install QT 5.11 ",[24,61,62],{"href":62,"rel":63},"http:\u002F\u002Fmaster.qt.io\u002Fnew_archive\u002Fqt\u002F5.11\u002F5.11.0\u002Fqt-opensource-windows-x86-5.11.0.exe",[28]," and add ",[31,66,67],{},"QT5_ROOT_DIR",[36,69,38],{}," (usually it looks like ",[31,72,73],{},"...\u002F5.11.0\u002Fmsvc2017_64","), also add ",[31,76,77],{},"QML_IMPORT_PATH"," (it should look like ",[31,80,81],{},"%QT5_ROOT_DIR%\\qml","). BTW disabling system antivirus on Windows makes QT installing process much faster.",[17,84,85,86,89,90,34,93,39],{},"Add ",[31,87,88],{},"...\u002Fqt511\u002F5.11.1\u002Fmsvc2017_64\u002Fbin"," and ",[31,91,92],{},"...\u002Fboost_1_68_0\u002Flib64-msvc-14.1",[36,94,95],{},"System Path",[17,97,98,99,102,103,39],{},"Open project folder in Visual Studio, select your target (",[31,100,101],{},"Release-x64"," for example, if you downloaded 64bit Boost and OpenSSL) and select ",[31,104,105],{},"CMake -> Build All",[17,107,108,109,112,113,116,117,116,120,116,123,126],{},"Go to ",[31,110,111],{},"CMake -> Cache -> Open Cache Folder -> beam"," (you'll find binaries in ",[31,114,115],{},"beam\u002F...",", ",[31,118,119],{},"wallet\u002F...",[31,121,122],{},"ui\u002F...",[31,124,125],{},"explorer\u002F..."," subfolders).",[10,128,130],{"id":129},"linux","Linux",[132,133,134],"p",{},[135,136,137],"strong",{},"Please read carefully the points below",[132,139,140,143,144,147,148,151,152,155,156,159,160,163,164,167],{},[135,141,142],{},"1."," After finishing your build you'll find the the ",[31,145,146],{},"beam-node"," binary (node) in the ",[31,149,150],{},"beam\u002Fbeam"," folder, ",[31,153,154],{},"beam-wallet"," (cli wallet) in the ",[31,157,158],{},"beam\u002Fwallet"," folder and ",[31,161,162],{},"BeamWallet"," (GUI wallet) in the ",[31,165,166],{},"beam\u002Fui"," folder.",[132,169,170,173],{},[135,171,172],{},"2."," You need to clone beam sources before building",[175,176,181],"pre",{"className":177,"code":179,"language":180},[178],"language-text","git clone https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam.git\n","text",[31,182,179],{"__ignoreMap":183},"",[132,185,186,187,192],{},"The command above checks out the latest master branch where all the development happens. Usually it is not what you want to build. Choose an appropriate branch ",[24,188,191],{"href":189,"rel":190},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fbranches",[28],"here"," and check out it after you have the main repository cloned. For example the command below checks out the Double Doppler 4.0 release branch",[175,194,197],{"className":195,"code":196,"language":180},[178],"cd beam\ngit checkout double_doppler_4.0RC\n",[31,198,196],{"__ignoreMap":183},[132,200,201,204,205,208],{},[135,202,203],{},"3."," By default instructions produce masternet builds (development version, development blockchain). To be able to build testnet (testing) or mainnet (real-world blockchain) you need to edit the ",[31,206,207],{},"beam\u002FCMakeLists.txt"," file lines 151-157. Uncomment (remove the '#' sign) respective definitions.",[175,210,213],{"className":211,"code":212,"language":180},[178],"# uncomment next line for testnet\n#set(BEAM_TESTNET TRUE)\n# uncomment next line for mainnet\n#set(BEAM_MAINNET TRUE)\n\n# uncomment next line for swap mainnet\n#set(SWAP_MAINNET TRUE)\n",[31,214,212],{"__ignoreMap":183},[132,216,217,220],{},[135,218,219],{},"4."," Server instructions result only in a valid build and enable you running all the CLI tools. They are not intended to ensure that you would be able to run the UI. Desktop build instructions include additional steps to ensure that the UI can be launched.",[132,222,223,226,227,232,233,236],{},[135,224,225],{},"5."," At the moment building the UI can take a lot of time (a few hours) due to the bug in QT: ",[24,228,231],{"href":229,"rel":230},"https:\u002F\u002Fbugreports.qt.io\u002Fbrowse\u002FQTBUG-27936",[28],"QTBUG-27936",". To skip building the UI pass ",[31,234,235],{},"-DBEAM_NO_QT_UI_WALLET=On"," to cmake. You can also omit all Qt5 dependencies in this case.",[238,239,241],"h2",{"id":240},"ubuntu-1804-desktop","Ubuntu 18.04 Desktop",[132,243,244],{},"Instructions below are valid for a clean default Ubuntu 18.04.03 Desktop LTS install. If your're building on an aged system please check that steps 1, 2 & 4 do not overwrite\u002Fconflict with more recent versions of cmake and boost that might have been installed before. You can omit cmake\u002Fboost installation if you already have more recent versions.",[14,246,247,256,265,274],{},[17,248,249,250],{},"Install dependencies",[175,251,254],{"className":252,"code":253,"language":180},[178],"sudo add-apt-repository ppa:beineri\u002Fopt-qt-5.11.0-bionic\nsudo add-apt-repository ppa:mhier\u002Flibboost-latest\nsudo apt-get update && sudo apt-get upgrade\nsudo apt-get install g++-8 libssl-dev curl wget git make \nsudo apt-get install libgl1-mesa-dev zlib1g-dev libboost1.67-dev\nsudo apt-get install qt511base qt511declarative qt511svg qt511tools \n",[31,255,253],{"__ignoreMap":183},[17,257,258,259],{},"Install cmake",[175,260,263],{"className":261,"code":262,"language":180},[178],"wget https:\u002F\u002Fcmake.org\u002Ffiles\u002Fv3.13\u002Fcmake-3.13.0-Linux-x86_64.sh\nsudo sh .\u002Fcmake-3.13.0-Linux-x86_64.sh --skip-license --prefix=\u002Fusr\n",[31,264,262],{"__ignoreMap":183},[17,266,267,268],{},"Go to the Beam project folder and start the release build",[175,269,272],{"className":270,"code":271,"language":180},[178],"export PATH=\u002Fopt\u002Fqt511\u002Fbin:$PATH && export CC=gcc-8 && export CXX=g++-8\ncmake -DCMAKE_BUILD_TYPE=Release && make -j4\n",[31,273,271],{"__ignoreMap":183},[17,275,276,277],{},"To be able to run the UI (BeamWallet) install additional dependencies",[175,278,281],{"className":279,"code":280,"language":180},[178],"sudo apt-get install qt511quick* qt511graphicaleffects\n",[31,282,280],{"__ignoreMap":183},[238,284,286],{"id":285},"ubuntu-1804-server","Ubuntu 18.04 Server",[132,288,289],{},"Instructions below are valid for a clean default Ubuntu 18.04.03 Server LTS with all the updates applied during install. If your're building on an aged system please check that steps 1 & 2 do not overwrite\u002Fconflict with more recent versions of cmake and boost that might have been installed before. You can omit cmake\u002Fboost installation if you already have more recent versions.",[14,291,292,299,306],{},[17,293,249,294],{},[175,295,297],{"className":296,"code":253,"language":180},[178],[31,298,253],{"__ignoreMap":183},[17,300,258,301],{},[175,302,304],{"className":303,"code":262,"language":180},[178],[31,305,262],{"__ignoreMap":183},[17,307,267,308],{},[175,309,311],{"className":310,"code":271,"language":180},[178],[31,312,271],{"__ignoreMap":183},[238,314,316],{"id":315},"ubuntu-1910-server","Ubuntu 19.10 Server",[132,318,319],{},"Instructions below are valid for a default Ubuntu 19.10 Server install with updates applied during install.",[14,321,322,330],{},[17,323,249,324],{},[175,325,328],{"className":326,"code":327,"language":180},[178],"sudo apt-get update && sudo apt-get upgrade\nsudo apt-get install g++ git make cmake libboost-all-dev zlib1g-dev\nsudo apt-get install libssl-dev qtbase5-dev qtdeclarative5-dev \nsudo apt-get install libqt5svg5-dev qttools5-dev qt5-default\n",[31,329,327],{"__ignoreMap":183},[17,331,267,332],{},[175,333,336],{"className":334,"code":335,"language":180},[178],"cmake -DCMAKE_BUILD_TYPE=Release . && make -j4\n",[31,337,335],{"__ignoreMap":183},[238,339,341],{"id":340},"ubuntu-1910-desktop","Ubuntu 19.10 Desktop",[132,343,344],{},"Instructions below are valid for a minimal Ubuntu 19.10 Desktop install with 'update during install' option enabled.",[14,346,347,355,362],{},[17,348,249,349],{},[175,350,353],{"className":351,"code":352,"language":180},[178],"sudo apt-get install g++ git make cmake libboost-all-dev zlib1g-dev\nsudo apt-get install libssl-dev qtbase5-dev qtdeclarative5-dev \nsudo apt-get install libqt5svg5-dev qttools5-dev qt5-default\n",[31,354,352],{"__ignoreMap":183},[17,356,267,357],{},[175,358,360],{"className":359,"code":335,"language":180},[178],[31,361,335],{"__ignoreMap":183},[17,363,364,365],{},"To be able not only to build but also to run the UI (BeamWallet) you need to install additional dependencies",[175,366,369],{"className":367,"code":368,"language":180},[178],"sudo apt-get install qml-module-qt*\n",[31,370,368],{"__ignoreMap":183},[238,372,374],{"id":373},"centos-77","Centos 7.7",[132,376,377],{},"Instructions below are valid for a clean CentOS 7.0-1908 minimal install. If your're building on an aged system please check that steps 2 & 3 do not overwrite more recent versions of cmake and boost that might have been installed before.",[132,379,380],{},"N.B. These build instruction provide only commandline tools including node but no GUI wallet. Use newer operating system with more up to date Qt libraries (5.11+) to effortlessly build the UI.",[14,382,383,391,400,407],{},[17,384,249,385],{},[175,386,389],{"className":387,"code":388,"language":180},[178],"sudo yum update && shutdown -r now\nsudo yum install centos-release-scl yum-utils\nsudo yum-config-manager --enable rhel-server-rhscl-8-rpms\nsudo yum install devtoolset-8-gcc* \nscl enable devtoolset-8 bash\nsudo yum install git make wget openssl-devel\n",[31,390,388],{"__ignoreMap":183},[17,392,393,394],{},"Build & install boost. This step could take considerable amount of time",[175,395,398],{"className":396,"code":397,"language":180},[178],"wget https:\u002F\u002Fdl.bintray.com\u002Fboostorg\u002Frelease\u002F1.66.0\u002Fsource\u002Fboost_1_66_0.tar.gz\ntar xzvf boost_1_66_0.tar.gz\ncd boost_1_66_0 && .\u002Fbootstrap.sh && sudo .\u002Fb2 install && cd ~\n",[31,399,397],{"__ignoreMap":183},[17,401,258,402],{},[175,403,405],{"className":404,"code":262,"language":180},[178],[31,406,262],{"__ignoreMap":183},[17,408,409,410],{},"Go to the beam sources folder and start the release build",[175,411,414],{"className":412,"code":413,"language":180},[178],"cmake -DCMAKE_BUILD_TYPE=Release -DBEAM_NO_QT_UI_WALLET=On . && make -j4\n",[31,415,413],{"__ignoreMap":183},[238,417,419],{"id":418},"centos-8","CentOS 8",[132,421,422],{},"Instructions below are valid for a clean CentOS 8.0-1905 minimal install. If your're building on an aged install please check that step 2 does not overwrite more recent version of cmake that might have been installed before.",[14,424,425,433,440],{},[17,426,249,427],{},[175,428,431],{"className":429,"code":430,"language":180},[178],"sudo dnf update\nsudo dnf config-manager --set-enabled PowerTools\nsudo dnf install git make cmake gcc-c++ libstdc++-static boost-devel \nsudo dnf install openssl-devel tar wget qt5-qtbase-devel qt5-linguist\nsudo dnf install qt5-qtsvg-devel qt5-qtdeclarative-devel \n",[31,432,430],{"__ignoreMap":183},[17,434,258,435],{},[175,436,438],{"className":437,"code":262,"language":180},[178],[31,439,262],{"__ignoreMap":183},[17,441,409,442],{},[175,443,446],{"className":444,"code":445,"language":180},[178],"export PATH=${PATH}:\u002Fusr\u002Flib64\u002Fqt5\u002Fbin\ncmake -DCMAKE_BUILD_TYPE=Release . && make -j4\n",[31,447,445],{"__ignoreMap":183},[238,449,451],{"id":450},"fedora-31-workstation","Fedora 31 Workstation",[132,453,454],{},"Instructions below are valid for a default Fedora 31-1.9 Workstation install.",[14,456,457,465,472],{},[17,458,249,459],{},[175,460,463],{"className":461,"code":462,"language":180},[178],"sudo dnf update && shutdown -r now\nsudo dnf install git make cmake gcc-c++ libstdc++-static boost-devel \nsudo dnf install zlib-devel openssl-devel tar qt5-qtbase-devel qt5-linguist\nsudo dnf install qt5-qtsvg-devel qt5-qtdeclarative-devel \n",[31,464,462],{"__ignoreMap":183},[17,466,267,467],{},[175,468,470],{"className":469,"code":335,"language":180},[178],[31,471,335],{"__ignoreMap":183},[17,473,276,474],{},[175,475,478],{"className":476,"code":477,"language":180},[178],"sudo dnf install qt5-qtquickcontrols qt5-qtquickcontrols2\n",[31,479,477],{"__ignoreMap":183},[238,481,483],{"id":482},"fedora-31-server","Fedora 31 Server",[132,485,486],{},"Instructions below are valid for a default Fedora 31-1.9 Headless Server install.",[14,488,489,496],{},[17,490,249,491],{},[175,492,494],{"className":493,"code":462,"language":180},[178],[31,495,462],{"__ignoreMap":183},[17,497,267,498],{},[175,499,501],{"className":500,"code":335,"language":180},[178],[31,502,335],{"__ignoreMap":183},[10,504,506],{"id":505},"mac","Mac",[14,508,509,544,547,556,565,574,581,590,598,605],{},[17,510,511,512,517,520,521,524,525,528,529,535,537,538],{},"Download the source code by using:",[175,513,515],{"className":514,"code":179,"language":180},[178],[31,516,179],{"__ignoreMap":183},[518,519],"br",{},"this will give you a master branch which is developer's version of Beam. To get ",[36,522,523],{},"mainnet"," or ",[36,526,527],{},"testnet"," use",[175,530,533],{"className":531,"code":532,"language":180},[178],"git clone --branch mainnet https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam.git\n",[31,534,532],{"__ignoreMap":183},[518,536],{},"or",[175,539,542],{"className":540,"code":541,"language":180},[178],"git clone --branch testnet https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam.git\n",[31,543,541],{"__ignoreMap":183},[17,545,546],{},"Install Brew Package Manager.",[17,548,549,550],{},"Install necessary packages using:",[175,551,554],{"className":552,"code":553,"language":180},[178],"brew install openssl cmake\n",[31,555,553],{"__ignoreMap":183},[17,557,558,559],{},"Remove any existing brew installations of qt and boost:",[175,560,563],{"className":561,"code":562,"language":180},[178],"brew uninstall --ignore-dependencies qt boost\n",[31,564,562],{"__ignoreMap":183},[17,566,567,568],{},"Download and install a compatible version of boost:",[175,569,572],{"className":570,"code":571,"language":180},[178],"curl -O https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Fhomebrew-core\u002F5da5895add2f6b9320d654dd844d4827f6876c8b\u002FFormula\u002Fboost.rb\nbrew install .\u002Fboost.rb\n",[31,573,571],{"__ignoreMap":183},[17,575,576,577],{},"Download and install QT5.11 from the official website ",[24,578,579],{"href":579,"rel":580},"http:\u002F\u002Fmaster.qt.io\u002Fnew_archive\u002Fqt\u002F5.11\u002F5.11.0\u002Fqt-opensource-mac-x64-5.11.0.dmg",[28],[17,582,583,584],{},"Set your Environment Variables by using the following:",[175,585,588],{"className":586,"code":587,"language":180},[178],"- export OPENSSL_ROOT_DIR=\"\u002Fusr\u002Flocal\u002Fopt\u002Fopenssl@1.1\"\n- export PATH=\u002FUsers\u002F\u003Cusername>\u002FQt5.11.0\u002F5.11.0\u002Fclang_64\u002Fbin:$PATH\n- export QT5_ROOT_DIR=\u002FUsers\u002F\u003Cusername>\u002FQt5.11.0\u002F5.11.0\u002F\n- export QML_IMPORT_PATH=\"\u002FUsers\u002F\u003Cusername>\u002FQt5.11.0\u002F5.11.0\u002Fqml\"\n",[31,589,587],{"__ignoreMap":183},[17,591,592,593],{},"Go to Beam project folder and call",[175,594,596],{"className":595,"code":335,"language":180},[178],[31,597,335],{"__ignoreMap":183},[17,599,600,601,604],{},"Use ",[31,602,603],{},"cpack"," to get .dmg file",[17,606,607,608,116,610,612,613,616],{},"You'll find binaries in ",[31,609,158],{},[31,611,166],{},", and ",[31,614,615],{},"beam\u002Fexplorer"," subfolders.",[132,618,619,620,622,623,39],{},"If you don't want to build UI don't install QT5 and add ",[31,621,235],{}," command line parameter when you are calling ",[31,624,625],{},"cmake",{"title":183,"searchDepth":627,"depth":627,"links":628},2,[629,630,631,632,633,634,635,636],{"id":240,"depth":627,"text":241},{"id":285,"depth":627,"text":286},{"id":315,"depth":627,"text":316},{"id":340,"depth":627,"text":341},{"id":373,"depth":627,"text":374},{"id":418,"depth":627,"text":419},{"id":450,"depth":627,"text":451},{"id":482,"depth":627,"text":483},"md",null,{},true,"\u002Fdocs\u002Fcore-tech\u002Fhow-to-build(old)",{"title":5,"description":183},"docs\u002Fcore-tech\u002FHow-to-build(old)","9nwQ29l0Vzmu6f52K5taYtUvWYasLEc4Z3dcW5i2ABk",[646,651],{"title":647,"path":648,"stem":649,"description":650,"children":-1},"How To Build","\u002Fdocs\u002Fcore-tech\u002Fhow-to-build","docs\u002Fcore-tech\u002FHow-to-build","Starting from version 5.0 we separated core beam library project and its UI.",{"title":652,"path":653,"stem":654,"description":655,"children":-1},"How To Remove The Desktop Wallet Files In A Manual Way","\u002Fdocs\u002Fcore-tech\u002Fhow-to-remove-the-desktop-wallet-files-in-a-manual-way","docs\u002Fcore-tech\u002FHow-to-remove-the-Desktop-Wallet-files-in-a-manual-way","Since the current versions of the Desktop Wallet are not backward compatible, it is required to remove the files manually before upgrading to the next major version.",1783006069938]