Coder Social home page Coder Social logo

yangguanglu / uchain-fullnode Goto Github PK

View Code? Open in Web Editor NEW

This project forked from uchain-world/uchain-fullnode

0.0 1.0 0.0 1.88 MB

UChain Cross-Platform C++ Full-Node Wallet Implementation

License: GNU Affero General Public License v3.0

CMake 0.66% C++ 96.12% C 2.68% Shell 0.54%

uchain-fullnode's Introduction

AGPL v3

UC Project

UC is implemented based on libbitcoin project.

Build UC

Compiler requirements

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.

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.

Toolchain requirements

  • 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

Build UC

$ 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.

Library Dependencies

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

boost 1.60+

$ sudo yum/brew/apt-get install libboost-all-dev

ZeroMQ 4.2.5+

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

secp256k1

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

miniupnpc

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

Run UC

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

uchain-fullnode's People

Contributors

yangguanglu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.