Giter Site home page Giter Site logo

gluwa / creditcoin-legacy Goto Github PK

View Code? Open in Web Editor NEW
18.0 7.0 10.0 7.16 MB

The Hyperledger Sawtooth implementation of the Creditcoin protocol (version 1.8 and lesser versions)

Home Page: https://creditcoin.org

License: GNU Lesser General Public License v3.0

C++ 92.45% C# 0.24% C 1.00% JavaScript 0.09% Shell 0.05% Makefile 1.71% Dockerfile 0.05% Python 4.41%
blockchain creditcoin gluwa cryptocurrency credit p2p defi

creditcoin-legacy's Introduction

โš ๏ธ The Sawtooth implementation of Creditcoin has been replaced by a Substate-based version. Please see https://medium.com/creditcoin-foundation and https://github.com/gluwa/creditcoin for more information.

Gluwa Creditcoin

What is Creditcoin?

Creditcoin is a network that enables cross-blockchain credit transaction and credit history building. Creditcoin uses blockchain technology to ensure the objectivity of its credit transaction history: each transaction on the network is distributed and verified by the network.

The Creditcoin protocol was created by Gluwa. Gluwa Creditcoin is the official implementation of the Creditcoin protocol by Gluwa.

For more information, see https://creditcoin.org, or read the original whitepaper.

Other Creditcoin Components

In order to facilitate modular updates, the Creditcoin components have been divided into several repos.

  • This repo includes the Sawtooth 1.0.5 PoW consensus engine, Creditcoin Gateway, Creditcoin Processor, and Sawtooth REST API Hotfixes
  • Sawtooth-Core contains the Creditcoin fork of Sawtooth 1.2.x and is where most future development will take place
  • Creditcoin-Shared has the CCCore, CCPlugin framework, and several plugins such as Bitcoin, ERC20, Ethereum and Ethless
  • Creditcoin-Client houses the command-line client for communicating with the Creditcoin blockchain

License

Creditcoin is licensed under the GNU Lesser General Public License software license.

Licenses of dependencies distributed with this repository are provided under the \DependencyLicense directory.

Development Process


The master branch is regularly built and tested, but it is not guaranteed to be completely stable. Tags are created regularly from release branches to indicate new official, stable release versions of Gluwa Creditcoin.

Prerequisite for Windows

Boost 1.67.0 source

Place the source of boost 1.67.0 to C:\local\boost_1_67_0.

If you would like to use your own directory, you can change the setting in the project properties under C/C++ => Generals => Additional Include Directories.

Static Library

Place the following .lib into \SDK\lib\Debug folder.

Boost 1.67.0:

  1. Download pre-built binaries for boost 1.67.0

  2. Take the following the .libs from the lib64-msvc-14.1 folder

    libboost_chrono-vc141-mt-gd-x64-1_67.lib
    libboost_date_time-vc141-mt-gd-x64-1_67.lib
    libboost_regex-vc141-mt-gd-x64-1_67.lib
    libboost_system-vc141-mt-gd-x64-1_67.lib
    libboost_thread-vc141-mt-gd-x64-1_67.lib

Cryptopp:

  1. Download and install vcpkg

    git clone https://github.com/Microsoft/vcpkg.git
    vcpkg
    cd vcpkg
    bootstrap-vcpkg.bat

  2. Install Cryptopp

    .\vcpkg install cryptopp:x64-windows

    The .lib file will be in vcpkg\installed\x64-windows\debug\lib\cryptopp-static.lib

cpp-netlib 0.13.rc1:

  1. clone cpp-netlib 0.13.rc1 from git branch release 0.13

    git submodule init
    git submodule update

  2. Follow the instruction on https://cpp-netlib.org/0.13.0/getting_started.html

    When calling cmake, use the following command instead:

cmake -DCMAKE_BUILD_TYPE=Debug \  
      -DCMAKE_C_COMPILER=gcc   \  
      -DCMAKE_CXX_COMPILER=g++ \  
      -DCMAKE_GENERATOR_PLATFORM=x64 \  
      ../cpp-netlib  
  1. Edit CPP-NETLIB.sln

    In properties => C/C++ => Preprocessor => Preprocessor Definitions:

    Remove WIN32 for x64 platform for the following projects:
    cppnetlib-client-connections
    cppnetlib-server-parsers
    cppnetlib-uri

    build above project with x64 platform, and take the .lib files

Sawtooth:

Follow the instructions in \SDK\sawtooth.lib rebuild instructions.txt to build the sawtooth.lib file

Prerequisite for Ubuntu 16.04

Visual Studio's Workload for Linux development with C++

https://blogs.msdn.microsoft.com/vcblog/2017/04/11/linux-development-with-c-in-visual-studio/

Ubuntu 16.04

  1. The following dependencies need to be installed using apt-get:

    gcc
    g++
    build-essential
    cmake
    gdbserver
    autoconf
    automake
    libtool
    curl
    make
    unzip
    pkg-config
    uuid-dev
    openssh-server
    gdb
    libapr1-dev
    libaprutil1-dev
    python-dev
    python3-dev
    zip

  2. Acquire the source code of following dependencies, then build and install them:

    Boost 1.67.0
    Cpp-netlib 0.13.rc1
    protobuf 3.5.1
    zeromq 3.2.5
    zeromqpp 4.2.0
    log4cxx - master
    Cryptopp 7.0.0

  3. Sawtooth SDK CXX - master

    Acquire source and make the following changes:

    in src/message_stream.cpp on line 61
    Replace
    message.add(msg_data.data(), msg_data.length());
    With
    message.add(msg_data.data());

    Build and install

  4. Copy headers from \SDK and \xtern to /usr/local/include

Building the processor

To create the Ubuntu 16.04 ccprocessor, build the ccprocessorLinux project

creditcoin-legacy's People

Contributors

atodorov avatar cggluwa avatar colingluwa avatar dependabot[bot] avatar itisapaul avatar nathanwhit avatar seandeneen-gluwa avatar taelimoh avatar vladimir-gluwa avatar wi-ry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

creditcoin-legacy's Issues

Mining

Hi.
There is anyway to stop mining so the chain can sync faster? Thank you.

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.