Skip to content

CharlieCrisp/Logan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Logan

Cambridge CST Part II Project - Building a Blockchain Library for OCaml

Logan is a blockchain library for OCaml. It allows you to create and run blockchain applications with custom datatypes. It uses Irmin as a backend and a leader-based consensus protocol.

Building Logan

To build the project, navigate to the root of the repository and type...

make

There are a few helper executables in the /Code/Tests directory which can be build with

make test

To remove any blockchain or mempool without removing generated executables:

make clear

To remove everything, including executables, logs and blockchains:

make clean

Setting up Logan

The script logan in the /Utils directory can be used to access the executables that come with Logan. Use make and make test to build these and then it is recommended that you add the following directories to your path:

export PATH=$PATH:path-to-repository/bin:path-to-repository/Utils

Now you should be able to run logan --help to see what subcommands you can run. If you are ever unsure of how to use a subcommand, then logan subcommand --help should help you out!

Using a Config File

In order to save time, you can set up a config file in whatever directory you run in with the following contents

leader=leaderuser@leaderhost #Leader machine in the format user@host
id=5 #Your machnine id - an integer
participants=(user1@host1 user@host2)#list of participants in the format user@host. Must go within brackets separated by spaces