Blockchain Project for 'Distributed Systems' M.Sc. Course 2019-2020.
Used: Python, Flask, Docker, HTML, Ajax, Jquery, css
URL | Type | Action |
---|---|---|
/chain | GET | Get the blockchain from other nodes to resolve conflict |
/transactions/view | GET | View transactions from last verified block |
/transactions/create/browser | POST | Create a transaction via browser client |
/transactions/money/sent | GET | Get money sent from verified transactions |
/transactions/money/received | GET | Get money received from verified transactions |
/transactions/create | POST | Create a transaction |
/broadcast/transaction | POST | Broadcast a transaction to other nodes |
/broadcast/ring | POST | Broadcast the node to other nodes (for Bootstrap node) |
/broadcast/block | POST | Broadcast a block to other nodes |
/nodes/register | POST | Register node to bootstrap ring |
URL | Type | Action |
---|---|---|
/ | GET | Home Page |
/wallet | GET | Node's wallet |
/help | GET | User Manual |
/about | GET | Application Information |
/contact | GET | Contact page |
/blockchain | GET | View Current Blockchain |
~/noobchain
│
└── backend
| | block.py
| | blockchain.py
| | node.py
| | transaction.py
| | wallet.py
│
└── public_keys
│
└── static
| └─ js
| └─ css
│
└── templates
│ └─ layout
│ │ │ base.html
│ │ │ footer.html
│ │ │ navbar.html
│ │ about.html
│ │ contact.html
│ │ help.html
│ │ home.html
│ │ wallet.html
│
└── transactions
│ └─ 3 nodes
│ └─ 5 nodes
│ └─ 10 nodes
│
│ main.py
pip install -r requirements.txt
Parameter | Info |
---|---|
-ip | IP of node |
-p | Port of node |
-bootstrap | Boolean - if the node is bootstrap |
-ip_bootstrap | IP of bootstrap node |
-port_bootstrap | Port of bootstrap |
-nodes | number of nodes in network |
-cap | capacity of each block in transactions |
-dif | difficulty in mining of blocks |
python3 noobchain/main.py -ip 0.0.0.0 -p 1000 -bootstrap True -ip_bootstrap 0.0.0.0-port_bootstrap 1000 -nodes 5 -cap 4 -dif 4
The css code used is under the MIT License and can be found here: darkly.
The logo of the web interface is based on Bitcoin logo, and can be found here.
Nick Nikitas, Dimitris Zografakis, Dimitris Lamprakis.
Copyright © 2020