The project is about developing a blockchain peer-to-peer system called Cheese Coin. This is a network system which is based on the ideas of Bitcoin but simpler.
In this system we have implemented the tracker to keep track of other peer-to-peer users in the network, simulating the mining feature with proof-of-work with difficulty of 0000
, and auto-creation of transaction with signature.
- The blockchain of each member is stocked in a file
.JSON
in the folderdata
. You should make sure to have the same blockchain for all members at the beginning to run the test. You can download the folderdata
or create it by yourself. - You need to download the files following for the interface:
code/clientapp.ui code/trackerapp.ui code/transactor.ui img/bg.png img/bgTracker.png img/bgTran.png
You need to declare the IP address and port number for tracker
, transactor
, and all members
.
Eg.
tracker_address = 'localhost'
member_address = 'localhost'
By defaut, the port of members will be :
tracker_port = 9999 #Tracker
server_port = 10001 #Member1
server_port = 10002 #Member2
server_port = 10003 #Member3
Execute the files following:
code/Clien01_GUI.py
code/Clien02_GUI.py
code/Clien03_GUI.py
code/Tracker.py
code/transactor.py
- Select
Tracker
in the combobox then clickConnect
. - Click
ReqMemberlist
to ask for the Member List. - Select
AllClients
in the combobox then clickConnect
.
- Click
ConnectTracker
then ClickgetMemberlist
to get IP address of all members. - Click
Connect Clients
. - Start sending transactions by clicking
Start Sending
. By default, one transaction will be released every 5 seconds.
Please read protocol.md for details on our code of conduct.