Skip to content

A decentralized peer-to-peer cryptocurrency network using SWIM gossip protocol and Nakamoto consensus.

Notifications You must be signed in to change notification settings

jrxk/Tiny_Bitcoin-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS425 MP2 - Cryptocurrency

Group member

Jianfeng Xia(jxia11), Cheng Hu(chenghu3)

Environment

Go 1.11.4, Python 36

Design & Evaluation

For details of algorithms & system design and performance evalution, please refer:

  • reports/CS425_MP2_CP1_Report.pdf
  • reports/CS425_MP2_CP2_Report.pdf

Usage

  • The service should be run at VM number 7, port 8888

  • Log into group VMs and clone repository

  • To build: go build client.go

  • Run program: ./client PORT
    Alternatively, use our Python3 script experiment.py to start multiple clients (starting a node every 0.5s) and write stdout to logfiles.
    Usage of Python script:
    python36 experiment.py [NUMBER OF CLIENTS]

  • Plotting: We have also included scripts to analyze performance and generate plots. To run the scripts:

    • cd logs
    • python3 propagation.py
    • python3 bandwidth.py

    Note:

    1. Our plot scripts use matplotlib and numpy, we suggest to run those scripts on machine has those library.
    2. Because the log files are large(we use logs in the case of 100 nodes, 20 mesg/s), please be patient when running scripts.

About

A decentralized peer-to-peer cryptocurrency network using SWIM gossip protocol and Nakamoto consensus.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 69.2%
  • Python 30.8%