/XCoin

The green coin project

Primary LanguageC++

XCoin

The green coin project

Objectives

The core goal of the project is to set up a functional and production-ready(ish) cryptocurrency for our community. We will do this from scratch in C++, first developing a robust blockchain algorithm. Not only that, we will also try to make this algorithm more energy-efficient (🍀 Green coin) than most algorithms widely implemented today. The next step will be to define a currency, which is built on top of the blockchain to bring it purpose. The goal is to enable monetary transactions between peers, as close as possible to transactions using conventional currencies.

On top of this, we will dedicate 3 additional research teams for the front-end, which is the app that users will interact with, a security team to harden our implementation and an API team to enable third-parties to integrate our code easily in their applications.

Compiling & running the project

The project was authored and tested on the CLion IDE (2021.3). Other development tools should work given that they can load the cmake project and run the xcoin-client target.

  1. Make sure submodules have been cloned alongside the project (vcpkg and googletest directories shouldn't be empty). Run git submodule update --init --recursive if needed.
  2. Install QT version 6.2.2 and replace the install path line 13 of CMakeLists.txt.
  3. Initialise vcpkg using the following steps:
    1. Run ./vcpkg/bootstrap-vcpkg.sh (.\vcpkg\bootstrap-vcpkg.bat on Windows)
    2. Run ./vcpkg/vcpkg integrate install (.\vcpkg\vcpkg integrate install on Windows)
    3. Run ./vcpkg/vcpkg install (.\vcpkg\vcpkg install on Windows)
  4. Load up the cmake project. Several targets such as xcoin-client, xblockchain-lib and xnode-lib should now be available.
  5. Compile and run the xcoin-client target, which will launch the UI client.

Members (name surname, github username, notion username, role)

Project documents: link

Teams

Blockchain

  • Cyrus Pellet
  • Jean-Sebastien Gaultier
  • Youssef Chaabouni

Security

  • Laura Galindo
  • Malo Lahogue
  • Salma Zainana

API

  • Clara Schneuwly
  • Kevin Messali
  • Lio Elalouf
  • Malo Lahogue

Currency

  • Pierre-Chanel Mangin
  • Thang Long Vu
  • Mamoune Mouchtaki
  • TimothĂ© MĂ©nard

Frontend

  • Alexandre Misrahi
  • Arthur Failler
  • Tim Valencony
  • Pierre-Chanel Mangin