Skip to content
This repository has been archived by the owner on Aug 5, 2021. It is now read-only.

A distributer ledger with ISIS algo for total ordering of messages

Notifications You must be signed in to change notification settings

EmmanuelMess/DistributedLedgerErlang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DistributedLedgerErlang

A distributer ledger with ISIS algo for total ordering of messages

Chat on Telegram

Description

This has an ledger:append (with { Uid, self(), "Message" }) that adds to the ledger and a ledger:get that returns the ledger.

One ledger per node and one node per ledger (no pure-client nodes).

This implementation fails after more than n/2 nodes fail.

Running

Compile everything:

erl -compile isis ledger

Run this on each terminal (one per node):

erl -setcookie wermer -snode <nodename>
net_adm:ping('<othernodename>@<host>').

Connect everything and then start with ledger:start() at each node, you can stop the ledger with ledger:stop():

ledger:start().

Then you can use the ledger with ledger:append and ledger:get():

> ledger:get().
[]

> ledger:append({0, self(), "Hola"}).

> ledger:get().
[{0, <0.72.0>, "Hola"}]

Thanks

About

A distributer ledger with ISIS algo for total ordering of messages

Topics

Resources

Stars

Watchers

Forks

Languages