UC is implemented based on libbitcoin project.
Compilier | Minimum Version |
---|---|
gcc/g++ | 5.0 |
clang++ | 3.4 (8.0.0) |
C++ compiler support C++14.
Using c++ -v
to check c++ version.
- Simple guide to upgrade GCC.
- Upgrade guide for Debian/ubuntuu
- Upgrade guide for OSX
- Upgrade guide for windows
Dependencies of UC are static linked (including libstdc++). Thus, there is no extra dependency after compilation. Recommends Ubuntu 16.04/CentOS 7.2/Visual Studio 2015 to develop/debug/build UC.
- cmake 3.0+
- git
- automake (speck256k1/ZeroMQ required)
$ yum/brew/apt-get install git cmake
$ yum/brew/apt-get install autoconf automake libtool pkg-config
$ git clone https://github.com/UCHAIN-WORLD/UChain.git
$ cd UChain && mkdir build && cd build
$ cmake ..
$ make -j4
$ make install
If you do not need UPnP support, you can use "cmake -DUSE_UPNP=OFF .."
to disable it.
optional:
$ make test (should install boost_unit_test_framework)
$ make doc (should install doxygen and graphviz)
Needs to configure Library Dependencies firstly.
Installing by bash script (sudo required).
$ sudo ./install_dependencies.sh
By default, ./install_dependencies.sh
will install ZeroMQ
secp256k1
.
You can install more by specify arguments, for example:
# --build-upnpc is needed is you want UPnP supporting.
$ sudo ./install_dependencies.sh --build-boost --build-upnpc
$ sudo yum/brew/apt-get install libboost-all-dev
Modules server/explorer required.
$ wget https://github.com/zeromq/libzmq/releases/download/v4.2.5/zeromq-4.2.5.tar.gz
$ tar -xzvf zeromq-4.2.5.tar.gz
$ cd zeromq-4.2.5
$ ./autogen.sh
$ ./configure
$ make -j4
$ sudo make install && sudo ldconfig
Modules blockchain/database required.
$ git clone https://github.com/UCHAIN-WORLD/secp256k1
$ cd secp256k1
$ ./autogen.sh
$ ./configure --enable-module-recovery
$ make -j4
$ sudo make install && sudo ldconfig
Modules blockchain/network with UPnP function required.
$ wget http://miniupnp.tuxfamily.org/files/miniupnpc-2.0.tar.gz
$ tar -xzvf miniupnpc-2.0.tar.gz
$ cd miniupnpc-2.0
$ make -j4
$ sudo INSTALLPREFIX=/usr/local make install && sudo ldconfig
After UC is built successfully, there are two executable files in the bin directory:
-
ucd - server program
Runs a full UChain node in the global peer-to-peer network. -
uc-cli - client program
Sent your request to the server, the server will process it and return response to your client.
Go to bin diretory, and run the program. More information please reference to Command line usage and Configuration file.
$ cd bin
$ ./ucd
$ ./uc-cli $command $params $options