Node
Credits Node is the main module that provide an opportunity to run a node and participate in CREDITS blockchain network.
[Documentation](https://developers.credits.com/en/Articles/Platform) \| [Guides](https://developers.credits.com/en/Articles/Guides) \| [News](https://credits.com/en/Home/News) The project is written primarily in C++, distributed under the GNU Affero General Public License v3.0 license, first published in 2019. Key topics include: bft, blockchain, cmake, cplusplus-17, credits.
Documentation |
Guides |
News
Credits Node
A node is a client-side application that is installed on the user equipment.
The Node processes and stores transactions, executes and confirms smart contract rules requests processing from third-party systems and provides data when requested.
Written on C++.
Version
Current node version 4.2.532.0
<h2>What is Credits Node?</h2> <p>Credits Node is the main module that provide an opportunity to run a node and participate in CREDITS blockhain network. The node performs processing and storage of transactions, execution and confirmation of the terms of smart contracts, processing requests from third-party systems, and provides data upon request. Each node on the network has the same functionality. The node consists of the following elements:</p> <ul> <li>API</li> <li>Desision-making module(Solver)</li> <li>Storage(CSDB)</li> <li>Transport protocol</li> </ul> <h2>Build dependencies</h2> <ul> <li><a href="https://www.boost.org/users/history/version_1_70_0.html">Boost 1.70</a> or newest static prebuild</li> <li>Compiler with C++17 support</li> <li><a href="https://cmake.org/download/">Cmake 3.11</a> or newest</li> <li> Requirements fo building <a href="https://thrift.apache.org/docs/install/">Apache Thrift</a></li> <li>The building Berkeley DB distribution uses the Free Software Foundation's autoconf and libtool tools to build on UNIX platforms.</li>It is necessary to run in the terminal, which sets the environment variables for building a Visual Studio project
For Windows:<br/>
<h4>If necessary, full step-by-step instruction for Windows:</h4>shgit clone https://github.com/CREDITSCOM/node.git cd node git submodule update --init --recursive mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release -A x64 .. cmake --build . --target ALL_BUILD --config Release
sh# Install cmake # After install you can try to run in command line version check: cmake --version # If installation was successful, the result will be like: cmake version 3.17.0-rc1 # Install git, check the version the same way: git --version # and result result: git version 2.33.0.windows.2 # Install Visual Studio, as result you can rut it # FLEX&BISON usually are installed automatically with Visual Studio and are not necessary to install yourself # DO NOT TRY TO INSTALL IT SEPARATELY IF IT ISN'T NECESSARY, IT CAN PREVENT YOU FROM CORRECT NODE BUILDING PROCESS # Check is made the same way by requesting Software version. System should give the correct answer. # Install boost from 1.68.0 to 1.72.0: wget -c $https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz # or just load with your browser # unzip with any archiver, you prefer and go to directory: cd boost_1_72_0 ./bootstrap.sh ./b2 --build-type=complete link=static threading=multi $runtime-link=static --layout=tagged install --prefix=../boost # do not forget to add BOOST_ROOT to your SYSTEM VARIABLES and set the value pointing your BOOST directory C:\boost\boost_1_72_0 # Check it: echo %BOOST_ROOT% # Result: boost root variable value # and add the directories of boost-root and boost-libs to your SYSTEM PATHS like that: # C:\boost\boost_1_72_0 # C:\boost\boost_1_72_0\stage\lib # Now you are ready to get node repository and build it: git clone https://github.com/CREDITSCOM/node.git cd node git submodule update --init --recursive mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release -A x64 .. cmake --build . --target ALL_BUILD --config Release
For Linux:<br/>
<h4>If necessary, full step-by-step instruction for Linux:</h4>shgit clone https://github.com/CREDITSCOM/node.git cd node git submodule update --init --recursive mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make -j4
Update repos and install required package
shsudo apt update apt upgrade -y sudo apt install build-essential libssl-dev autoconf -y sudo apt install flex bison libtool -y
Create build directory
shmkdir csbuild d csbuild
Update gcc g++ (there is no need to update in version of Ubuntu 20 and later)
shsudo apt install gcc-8 g++-8 -y sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8 gcc --version gcc (Ubuntu 8.4.0-1ubuntu1~18.04) 8.4.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
Update cmake to latest version
shwget -c https://github.com/Kitware/CMake/releases/download/v3.17.0/cmake-3.17.0.tar.gz tar zxfv cmake-3.17.0.tar.gz cd cmake-3.17.0 ./bootstrap make sudo make install cd ..
Install boost
shwget -c $https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz tar zxfv boost_1_72_0.tar.gz cd boost_1_72_0 ./bootstrap.sh ./b2 --build-type=complete link=static threading=multi $runtime-link=static --layout=tagged install --prefix=../boost export PATH=~/csbuild/boost:$PATH export BOOST_ROOT=~/csbuild/boost cd ..
Build node
<h2>System requirements:</h2> <h4>Minimum system requirements:</h4> Operating system: Windows® 7 / Windows® 8 / Windows® 10 64-bit (with the last update package) Processor (CPU): with frequency of 1 GHz (or faster) with PAE, NX and SSE2 support; Memory (RAM): 8 Gb HDD: 600Gb Internet connection: 3 Mbit/s. <h4>Recommended system requirements:</h4>shgit clone https://github.com/CREDITSCOM/node.git cd node git submodule update --init --recursive mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make -j2
Operating system: Windows® 7 / Windows® 8 / Windows® 10 64-bit (with the last update package)
Processor (CPU): Intel® Core ™ i3 or AMD Phenom ™ X3 8650
Memory (RAM): 8 Gb
HDD: 3 Tb
Internet connection: 5 Mbit/s.
<a href="https://credits.com//">CREDITS Website</a>
<a href="https://github.com/CREDITSCOM/DOCUMENTATION">Documentation</a>
<a href="https://github.com/CREDITSCOM/Documentation/blob/master/WhitePaper%20CREDITS%20Eng.pdf">Whitepaper</a>
<a href="https://github.com/CREDITSCOM/Documentation/blob/master/TechnicalPaper%20CREDITS%20Eng.pdf">Technical paper</a>
<a href="https://developers.credits.com/">Developers portal</a>
<h3>Community links</h3> <a href="https://t.me/creditstechnical"><<img src ="https://simpleicons.org/icons/telegram.svg" height=40 widht=40 ></a> <a href="https://t.me/creditscom"><img src ="https://simpleicons.org/icons/telegram.svg" height=40 widht=40 ></a> <a href="https://twitter.com/creditscom"><img src ="https://simpleicons.org/icons/twitter.svg" height=40 widht=40 ></a> <a href="https://www.reddit.com/r/CreditsOfficial/"><img src ="https://simpleicons.org/icons/reddit.svg" height=40 widht=40></a> <a href="https://medium.com/@credits"><img src="https://simpleicons.org/icons/medium.svg" height=40 widht=40></a> <a href="https://www.instagram.com/credits_com/"><img src="https://simpleicons.org/icons/facebook.svg" height=40 widht=40></a> <a href="https://www.facebook.com/creditscom"><img src="https://simpleicons.org/icons/instagram.svg" height=40 widht=40></a> <a href="https://www.youtube.com/channel/UC7kjX_jgauCqmf_a4fqLGOQ"><img src="https://simpleicons.org/icons/youtube.svg" height=40 widht=40></a>Contributors
Showing top 12 contributors by commit count.
