Skip to content

Client of - The Hashgraph Protocol: Efficient Asynchronous BFT for High-Throughput Distributed Ledgers.

Notifications You must be signed in to change notification settings

Giorgos-P/HashGraph_Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hashgraph Client

Contents

About

Implementation of Hashgraph in Go programming language with ZeroMQ framework for the algorithm based on:

"The Hashgraph Protocol: Efficient Asynchronous BFT for High-Throughput Distributed Ledgers"[1]
by Leemon Baird and Atul Luykx.

The implementation of the servers can be found here.

Transaction

Each Client send a number of transaction. A client transaction contains

  • string: Transaction
  • int : increased integer number

Installation

Golang

If you have not already installed Golang follow the instructions here.

Clone Repository

cd ~/go/src/
git clone https://github.com/Giorgos-P/HashGraph_Client.git

Execution

Manually

Open different terminal for each client:

Hashgraph_Client <ID> <N> <Clients> <Remote>

ID : is the client id [0 to (N-1)]
N : is the total number of servers
Clients : is the total number of clients
Remote : is [0 or 1] 0=local execution, 1 is remote execution (we have to set the correct ip address of the remote servers in ip.go)

Script

Adjust the script (Hashgraph_Client/scripts/runClient.sh) and run:

bash ~/go/src/Hashgraph_Client/scripts/runClient.sh

Kill Processes

When you are done and want to kill the processes run:

bash ~/go/src/Hashgraph_Client/scripts/killHash.sh

References

Go To TOP

About

Client of - The Hashgraph Protocol: Efficient Asynchronous BFT for High-Throughput Distributed Ledgers.

Topics

Resources

Stars

Watchers

Forks