Skip to content

Build nano_node samples

Wesley Shillingford edited this page Jan 8, 2019 · 15 revisions

Running node as a service

To manage node, use RPC commands or CLI


Ubuntu 16.04 LTS Server, Ubuntu 16.10+, Debian 8 Jessie, Debian 9 Stretch

Debian 8 requires Cmake 3.4+

Dependency Build Instructions

sudo apt-get update && sudo apt-get upgrade   
sudo apt-get install git cmake g++ curl wget

Building static Boost

wget -O boost_1_66_0.tar.gz https://netix.dl.sourceforge.net/project/boost/boost/1.66.0/boost_1_66_0.tar.gz   
tar xzvf boost_1_66_0.tar.gz   
cd boost_1_66_0   
./bootstrap.sh --with-libraries=filesystem,log,program_options,thread   
./b2 --prefix=../[boost] link=static install   
cd ..

Building nano_node

git clone --recursive https://github.com/nanocurrency/nano-node.git nano_build   
cd nano_build   
cmake -DBOOST_ROOT=../[boost]/ -G "Unix Makefiles"   
make nano_node   
cp nano_node ../nano_node && cd .. && ./nano_node --diagnostics

CentOS 7

requires GCC comiler version 4.9+ or other compiler with C++14 language support (default Centos 7 compilers are outdated) + Cmake 3.4+

Dependency Build Instructions

sudo yum check-update   
sudo yum install git libstdc++-static curl wget   

Configure repository with modern GCC

sudo yum install centos-release-scl   
sudo yum install devtoolset-7-gcc*   
scl enable devtoolset-7 bash   

Building modern Cmake

wget https://cmake.org/files/v3.12/cmake-3.12.1.tar.gz   
tar zxvf cmake-3.12.1.tar.gz && cd cmake-3.12.1    
./bootstrap --prefix=/usr/local   
make -j$(nproc)   
sudo make install   
cd ..    

Building static Boost

wget -O boost_1_67_0.tar.gz https://netix.dl.sourceforge.net/project/boost/boost/1.67.0/boost_1_67_0.tar.gz   
tar xzvf boost_1_67_0.tar.gz && cd boost_1_67_0   
./bootstrap.sh --with-libraries=filesystem,iostreams,log,program_options,thread   
./b2 --prefix=../[boost] link=static install   
cd ..

Building nano_node

git clone --recursive https://github.com/nanocurrency/nano-node.git nano_build   
cd nano_build   
cmake -DBOOST_ROOT=../[boost]/ -G "Unix Makefiles"   
make nano_node   
cp nano_node .. && cd .. && ./nano_node --diagnostics

Ubuntu 16.04 on Digital Ocean Droplet ($5/Month 1GB Ram, 1 Core, 25Gb SSD)

Sign up at digitalocean.com

Create Droplet

Add swap space -https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04

sudo fallocate -l 2G /swapfile  
sudo chmod 600 /swapfile  
sudo mkswap /swapfile  
sudo swapon /swapfile

sudo apt-get update  
sudo apt-get install g++ make cmake -y

wget -O boost_1_66_0.tar.gz https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz  
tar xzvf boost_1_66_0.tar.gz  
cd boost_1_66_0  
./bootstrap.sh  
./b2 --prefix=../[boost] link=static install  
cd ..

git clone https://github.com/nanocurrency/nano-node.git  
cd nano-node/

git submodule init  
git submodule update

cmake -DBOOST_ROOT=../[boost]/ -G "Unix Makefiles" 
 
make nano_node

./nano_node --daemon

# check block count  
./nano_node --debug_block_count

OSX

git clone https://github.com/nanocurrency/nano-node.git
cd nano-node 
sh util/build_prep/bootstrap_boost.sh
git submodule update --init --recursive
cmake -DBOOST_ROOT=../[boost]/ -G "Unix Makefiles"
make
./nano_node/nano_node --daemon