Skip to content

A C implementation of a bitcoin-style blockchain and p2p network

License

Notifications You must be signed in to change notification settings

teadetime/SoftSysOlinCoin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoftSysOlinCoin

Documenation

https://teadetime.github.io/SoftSysOlinCoin/

What is this?

This repo is the source code for a project for the class Software Systems @Olin College.

This project seeks to recreate a blockchain to track transactions in the form of the original Bitcoin Network in C!

Take a look at /planning if you would like to see some of our design process

Download instructions

Clone the repo in whatever fashion you would like! Or take a look @ our releases page to grab the binaries to run our an OlinCoin node

Building from source

  • Ensure build dependencies are met: gcc, cmake, make etc, (if on ubuntu sudo apt install build-essential)

  • Ensure other dependencies are met, uthash, on ubunutusudo apt install uthash-dev

  • After cloning the project locally navigate into the build directory ie.cd ~/Downloads/SoftSysOlinCoin/build

  • To build the software(run from build directory)

    cmake --build .. 
  • to clean build files but not external libraries (mbedtls) (run from build directory)

    cmake --build .. --target _clean 
  • to clean all build files (run from build directory)

    cmake --build .. --target clean 
  • To run tests for OlinCoin simply build the project (which builds tests regardless) ctest or make test (also from build directory)

  • Note that a couple commands can change what is built:

    • BUILD_TESTS indicates if tests are built. To build with tests run:
      cmake -DBUILD_TESTS=ON --build .. 
    • BUILD_RUNTIME indicates if runtime code is built. To build runtime run:
      cmake -DBUILD_RUNTIME=ON --build .. 

About

A C implementation of a bitcoin-style blockchain and p2p network

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published