SlideShare a Scribd company logo
1 of 10
Views.py
from django.shortcuts import render
from django.template import RequestContext
from django.contrib import messages
from django.http import HttpResponse
from hashlib import sha256
import time
import pickle
import json
from datetime import datetime
import BC
from BC.Blockchain import Blockchain
from datetime import date
def ViewChain(request):
if request.method == 'GET':
with open('BC_DB.txt', 'rb') as input:
blockchain = pickle.load(input)
input.close()
output = ''
output+='<table align="center" border="1"><tr><th><font size="3"
color="black">Transaction No</th>'
output+='<th><font size="3" color="black">From Peer</th>'
output+='<th><font size="3" color="black">To Peer</th>'
output+='<th><font size="3" color="black">Coin</th>'
output+='<th><font size="3" color="black">Transaction Date</th>'
output+='</tr>'
print(len(blockchain.translist))
for i in range(len(blockchain.translist)):
b = blockchain.translist[i]
print(b)
arr = b.split(",")
output+='<tr><td><font size="3" color="black">'+str(i)+'</td>'
output+='<td><font size="3" color="black">'+str(arr[0])+'</td>'
output+='<td><font size="3" color="black">'+str(arr[1])+'</td>'
output+='<td><font size="3" color="black">'+str(arr[2])+'</td>'
output+='<td><font size="3" color="black">'+str(arr[3])+'</td></tr>'
output+='<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr></table><br/><br/><br/><br/><br/><br/><br/><
br/>'
context= {'data':output}
return render(request, 'ViewChain.html', context)
def Transactions(request):
if request.method == 'GET':
with open('BC_DB.txt', 'rb') as input:
blockchain = pickle.load(input)
input.close()
output = ''
output+='<tr><td><font size="3" color="black">From&nbsp;Peer</td><td><select
name="t1">'
for i in range(len(blockchain.chain)):
b = blockchain.chain[i]
if b.index > 0:
output+='<option value='+b.transactions[0]+'>'+b.transactions[0]+'</option>'
output+='</select></td></tr><tr><td><font size="3"
color="black">To&nbsp;Peer</td><td><select name="t2">'
for i in range(len(blockchain.chain)):
b = blockchain.chain[i]
if b.index > 0:
output+='<option value='+b.transactions[0]+'>'+b.transactions[0]+'</option>'
output+='</select></td></tr><tr><td><font size="3" color="black">Coins</td><td><input
type="text" name="t3"></td></tr>'
output+='<tr><td></td><td><input type="submit" value="Submit
Transaction"></td></td></tr></table>'
context= {'data':output}
return render(request, 'Transactions.html', context)
def TransactionsSubmit(request):
if request.method == 'POST':
frompeer = request.POST.get('t1', False)
topeer = request.POST.get('t2', False)
coin = request.POST.get('t3', False)
with open('BC_DB.txt', 'rb') as input:
blockchain = pickle.load(input)
input.close()
today = date.today()
output = frompeer+","+topeer+","+coin+","+str(today)
blockchain.addTransaction(output)
with open('BC_DB.txt', 'wb') as outputs:
pickle.dump(blockchain, outputs, pickle.HIGHEST_PROTOCOL)
outputs.close()
output = 'Transaction complete between '+frompeer+' and '+topeer+' coins '+coin
context= {'data':output}
return render(request, 'Transactions.html', context)
def BlockAdded(request):
if request.method == 'POST':
name = request.POST.get('t1', False)
with open('BC_DB.txt', 'rb') as input:
blockchain = pickle.load(input)
input.close()
peer = ''
for i in range(len(blockchain.peer)):
block = blockchain.peer[i]
#arr = block.split(",")
if name == block:
peer = block
blockchain.add_new_transaction(peer)
blockchain.mine()
break;
blockchain.peer.remove(peer)
with open('BC_DB.txt', 'wb') as outputs:
pickle.dump(blockchain, outputs, pickle.HIGHEST_PROTOCOL)
outputs.close()
output = ''
output+='<tr><td><font size="3"
color="black">Choose&nbsp;Peer&nbsp;Name</td><td><select name="t1">'
for i in range(len(blockchain.peer)):
block = blockchain.peer[i]
#arr = block.split(",")
output+='<option value='+block+'>'+block+'</option>'
output+='</select></td></tr><tr><td></td><td><input type="submit" value="Add To
Block"></td></td></tr></table>'
output+='<table align="center" border="1"><tr><th><font size="3" color="black">Block
No</th>'
output+='<th><font size="3" color="black">Block Name</th>'
output+='<th><font size="3" color="black">Previous Proof Hash</th>'
output+='<th><font size="3" color="black">New Hash</th>'
output+='<th><font size="3" color="black">Block Created Time</th>'
output+='</tr>'
for i in range(len(blockchain.chain)):
b = blockchain.chain[i]
if b.index > 0:
output+='<tr><td><font size="3" color="black">'+str(b.index)+'</td>'
output+='<td><font size="3" color="black">'+str(b.transactions)+'</td>'
output+='<td><font size="3" color="black">'+str(b.previous_hash)+'</td>'
output+='<td><font size="3" color="black">'+str(b.hash)+'</td>'
output+='<td><font size="3"
color="black">'+str(str(datetime.fromtimestamp(b.timestamp)))+'</td></tr>'
output+='<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr></table><br/><br/><br/><br/><br/><br/><br/><
br/>'
context= {'data':output}
return render(request, 'AddToBlock.html', context)
def AddToBlock(request):
if request.method == 'GET':
output = ''
output+='<tr><td><font size="3"
color="black">Choose&nbsp;Peer&nbsp;Name</td><td><select name="t1">'
with open('BC_DB.txt', 'rb') as input:
blockchain = pickle.load(input)
input.close()
for i in range(len(blockchain.peer)):
block = blockchain.peer[i]
#arr = block.split(",")
output+='<option value='+block+'>'+block+'</option>'
output+='</select></td></tr><tr><td></td><td><input type="submit" value="Add To
Block"></td></td></tr></table>'
output+='<table align="center" border="1"><tr><th><font size="3" color="black">Block
No</th>'
output+='<th><font size="3" color="black">Block Name</th>'
output+='<th><font size="3" color="black">Previous Proof Hash</th>'
output+='<th><font size="3" color="black">New Hash</th>'
output+='<th><font size="3" color="black">Block Created Time</th>'
output+='</tr>'
for i in range(len(blockchain.chain)):
b = blockchain.chain[i]
if b.index > 0:
output+='<tr><td><font size="3" color="black">'+str(b.index)+'</td>'
output+='<td><font size="3" color="black">'+str(b.transactions)+'</td>'
output+='<td><font size="3" color="black">'+str(b.previous_hash)+'</td>'
output+='<td><font size="3" color="black">'+str(b.hash)+'</td>'
output+='<td><font size="3"
color="black">'+str(str(datetime.fromtimestamp(b.timestamp)))+'</td></tr>'
output+='<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr></table><br/><br/><br/><br/><br/><br/><br/><
br/>'
context= {'data':output}
return render(request, 'AddToBlock.html', context)
def index(request):
if request.method == 'GET':
return render(request, 'index.html', {})
def AddPeer(request):
if request.method == 'GET':
blockchain = Blockchain()
#with open('BC_DB.txt', 'wb') as outputs:
# pickle.dump(blockchain, outputs, pickle.HIGHEST_PROTOCOL)
#outputs.close()
with open('BC_DB.txt', 'rb') as input:
blockchain = pickle.load(input)
input.close()
output = ''
output+='<table align="center" border="1"><tr><th><font size="3" color="black">Added
Peer Details</th></tr>'
for i in range(len(blockchain.peer)):
block = blockchain.peer[i]
output+='<tr><td><font size="3" color="black">'+block+'</td></tr>'
output+='<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr></table><br/><br/><br/><br/><br/><br/><br/><
br/>'
context= {'data':output}
return render(request, 'AddPeer.html', context)
def AddPeerAction(request):
if request.method == 'POST':
name = request.POST.get('t1', False)
#blockchain = Blockchain()
with open('BC_DB.txt', 'rb') as input:
blockchain = pickle.load(input)
input.close()
x = name
blockchain.addPeer(x)
with open('BC_DB.txt', 'wb') as outputs:
pickle.dump(blockchain, outputs, pickle.HIGHEST_PROTOCOL)
outputs.close()
output = ''
output+='<table align="center" border="1"><tr><th><font size="3" color="black">Added
Peer Details</th></tr>'
for i in range(len(blockchain.peer)):
block = blockchain.peer[i]
output+='<tr><td><font size="3" color="black">'+block+'</td></tr>'
output+='<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr></table><br/><br/><br/><br/><br/><br/><br/><
br/>'
context= {'data':output}
return render(request, 'AddPeer.html', context)

More Related Content

Similar to digitised and decentralized blockchain technology

Computer_Practicals-file.doc.pdf
Computer_Practicals-file.doc.pdfComputer_Practicals-file.doc.pdf
Computer_Practicals-file.doc.pdf
HIMANSUKUMAR12
 
i want to add to this c++ code a condition so that you can only chose.docx
i want to add to this c++ code a condition so that you can only chose.docxi want to add to this c++ code a condition so that you can only chose.docx
i want to add to this c++ code a condition so that you can only chose.docx
hendriciraida
 
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)
MongoSF
 

Similar to digitised and decentralized blockchain technology (18)

The Ring programming language version 1.5.3 book - Part 42 of 184
The Ring programming language version 1.5.3 book - Part 42 of 184The Ring programming language version 1.5.3 book - Part 42 of 184
The Ring programming language version 1.5.3 book - Part 42 of 184
 
The Ring programming language version 1.5.3 book - Part 52 of 184
The Ring programming language version 1.5.3 book - Part 52 of 184The Ring programming language version 1.5.3 book - Part 52 of 184
The Ring programming language version 1.5.3 book - Part 52 of 184
 
16-DOMTree.pptx
16-DOMTree.pptx16-DOMTree.pptx
16-DOMTree.pptx
 
Lecture-5.ppsx
Lecture-5.ppsxLecture-5.ppsx
Lecture-5.ppsx
 
GraphTalk Helsinki - Fraud Analysis with Neo4j
GraphTalk Helsinki - Fraud Analysis with Neo4jGraphTalk Helsinki - Fraud Analysis with Neo4j
GraphTalk Helsinki - Fraud Analysis with Neo4j
 
GraphTalk Stockholm - Fraud Detection with Graphs
GraphTalk Stockholm - Fraud Detection with GraphsGraphTalk Stockholm - Fraud Detection with Graphs
GraphTalk Stockholm - Fraud Detection with Graphs
 
vue-components.pdf
vue-components.pdfvue-components.pdf
vue-components.pdf
 
PureScript & Pux
PureScript & PuxPureScript & Pux
PureScript & Pux
 
Html file
Html fileHtml file
Html file
 
Sessionex1
Sessionex1Sessionex1
Sessionex1
 
Update statement in PHP
Update statement in PHPUpdate statement in PHP
Update statement in PHP
 
Computer_Practicals-file.doc.pdf
Computer_Practicals-file.doc.pdfComputer_Practicals-file.doc.pdf
Computer_Practicals-file.doc.pdf
 
The Ring programming language version 1.5.2 book - Part 41 of 181
The Ring programming language version 1.5.2 book - Part 41 of 181The Ring programming language version 1.5.2 book - Part 41 of 181
The Ring programming language version 1.5.2 book - Part 41 of 181
 
Automation Script for WO Summary in Maximo
Automation Script for WO Summary in MaximoAutomation Script for WO Summary in Maximo
Automation Script for WO Summary in Maximo
 
Hybrid Inheritance in C++
Hybrid Inheritance in C++Hybrid Inheritance in C++
Hybrid Inheritance in C++
 
i want to add to this c++ code a condition so that you can only chose.docx
i want to add to this c++ code a condition so that you can only chose.docxi want to add to this c++ code a condition so that you can only chose.docx
i want to add to this c++ code a condition so that you can only chose.docx
 
Java(Java_Servlet_programs_examples).pdf
Java(Java_Servlet_programs_examples).pdfJava(Java_Servlet_programs_examples).pdf
Java(Java_Servlet_programs_examples).pdf
 
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)
 

Recently uploaded

Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
drjose256
 
Final DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualFinal DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manual
BalamuruganV28
 

Recently uploaded (20)

Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdf
 
Supermarket billing system project report..pdf
Supermarket billing system project report..pdfSupermarket billing system project report..pdf
Supermarket billing system project report..pdf
 
Quiz application system project report..pdf
Quiz application system project report..pdfQuiz application system project report..pdf
Quiz application system project report..pdf
 
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
 
Lesson no16 application of Induction Generator in Wind.ppsx
Lesson no16 application of Induction Generator in Wind.ppsxLesson no16 application of Induction Generator in Wind.ppsx
Lesson no16 application of Induction Generator in Wind.ppsx
 
Linux Systems Programming: Semaphores, Shared Memory, and Message Queues
Linux Systems Programming: Semaphores, Shared Memory, and Message QueuesLinux Systems Programming: Semaphores, Shared Memory, and Message Queues
Linux Systems Programming: Semaphores, Shared Memory, and Message Queues
 
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
 
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdfInstruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
 
Lab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docxLab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docx
 
Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...
Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...
Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...
 
Final DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualFinal DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manual
 
Online book store management system project.pdf
Online book store management system project.pdfOnline book store management system project.pdf
Online book store management system project.pdf
 
Geometric constructions Engineering Drawing.pdf
Geometric constructions Engineering Drawing.pdfGeometric constructions Engineering Drawing.pdf
Geometric constructions Engineering Drawing.pdf
 
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdfInvolute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
 
Introduction to Artificial Intelligence and History of AI
Introduction to Artificial Intelligence and History of AIIntroduction to Artificial Intelligence and History of AI
Introduction to Artificial Intelligence and History of AI
 
analog-vs-digital-communication (concept of analog and digital).pptx
analog-vs-digital-communication (concept of analog and digital).pptxanalog-vs-digital-communication (concept of analog and digital).pptx
analog-vs-digital-communication (concept of analog and digital).pptx
 
BORESCOPE INSPECTION for engins CFM56.pdf
BORESCOPE INSPECTION for engins CFM56.pdfBORESCOPE INSPECTION for engins CFM56.pdf
BORESCOPE INSPECTION for engins CFM56.pdf
 
AI in Healthcare Innovative use cases and applications.pdf
AI in Healthcare Innovative use cases and applications.pdfAI in Healthcare Innovative use cases and applications.pdf
AI in Healthcare Innovative use cases and applications.pdf
 
Raashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashid final report on Embedded Systems
Raashid final report on Embedded Systems
 
Introduction to Heat Exchangers: Principle, Types and Applications
Introduction to Heat Exchangers: Principle, Types and ApplicationsIntroduction to Heat Exchangers: Principle, Types and Applications
Introduction to Heat Exchangers: Principle, Types and Applications
 

digitised and decentralized blockchain technology

  • 1. Views.py from django.shortcuts import render from django.template import RequestContext from django.contrib import messages from django.http import HttpResponse from hashlib import sha256 import time import pickle import json from datetime import datetime import BC from BC.Blockchain import Blockchain from datetime import date def ViewChain(request): if request.method == 'GET': with open('BC_DB.txt', 'rb') as input: blockchain = pickle.load(input) input.close() output = '' output+='<table align="center" border="1"><tr><th><font size="3" color="black">Transaction No</th>' output+='<th><font size="3" color="black">From Peer</th>' output+='<th><font size="3" color="black">To Peer</th>' output+='<th><font size="3" color="black">Coin</th>' output+='<th><font size="3" color="black">Transaction Date</th>'
  • 2. output+='</tr>' print(len(blockchain.translist)) for i in range(len(blockchain.translist)): b = blockchain.translist[i] print(b) arr = b.split(",") output+='<tr><td><font size="3" color="black">'+str(i)+'</td>' output+='<td><font size="3" color="black">'+str(arr[0])+'</td>' output+='<td><font size="3" color="black">'+str(arr[1])+'</td>' output+='<td><font size="3" color="black">'+str(arr[2])+'</td>' output+='<td><font size="3" color="black">'+str(arr[3])+'</td></tr>' output+='<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr></table><br/><br/><br/><br/><br/><br/><br/>< br/>' context= {'data':output} return render(request, 'ViewChain.html', context) def Transactions(request): if request.method == 'GET': with open('BC_DB.txt', 'rb') as input: blockchain = pickle.load(input) input.close()
  • 3. output = '' output+='<tr><td><font size="3" color="black">From&nbsp;Peer</td><td><select name="t1">' for i in range(len(blockchain.chain)): b = blockchain.chain[i] if b.index > 0: output+='<option value='+b.transactions[0]+'>'+b.transactions[0]+'</option>' output+='</select></td></tr><tr><td><font size="3" color="black">To&nbsp;Peer</td><td><select name="t2">' for i in range(len(blockchain.chain)): b = blockchain.chain[i] if b.index > 0: output+='<option value='+b.transactions[0]+'>'+b.transactions[0]+'</option>' output+='</select></td></tr><tr><td><font size="3" color="black">Coins</td><td><input type="text" name="t3"></td></tr>' output+='<tr><td></td><td><input type="submit" value="Submit Transaction"></td></td></tr></table>' context= {'data':output} return render(request, 'Transactions.html', context) def TransactionsSubmit(request): if request.method == 'POST': frompeer = request.POST.get('t1', False) topeer = request.POST.get('t2', False) coin = request.POST.get('t3', False)
  • 4. with open('BC_DB.txt', 'rb') as input: blockchain = pickle.load(input) input.close() today = date.today() output = frompeer+","+topeer+","+coin+","+str(today) blockchain.addTransaction(output) with open('BC_DB.txt', 'wb') as outputs: pickle.dump(blockchain, outputs, pickle.HIGHEST_PROTOCOL) outputs.close() output = 'Transaction complete between '+frompeer+' and '+topeer+' coins '+coin context= {'data':output} return render(request, 'Transactions.html', context) def BlockAdded(request): if request.method == 'POST': name = request.POST.get('t1', False) with open('BC_DB.txt', 'rb') as input: blockchain = pickle.load(input) input.close() peer = '' for i in range(len(blockchain.peer)):
  • 5. block = blockchain.peer[i] #arr = block.split(",") if name == block: peer = block blockchain.add_new_transaction(peer) blockchain.mine() break; blockchain.peer.remove(peer) with open('BC_DB.txt', 'wb') as outputs: pickle.dump(blockchain, outputs, pickle.HIGHEST_PROTOCOL) outputs.close() output = '' output+='<tr><td><font size="3" color="black">Choose&nbsp;Peer&nbsp;Name</td><td><select name="t1">' for i in range(len(blockchain.peer)): block = blockchain.peer[i] #arr = block.split(",") output+='<option value='+block+'>'+block+'</option>' output+='</select></td></tr><tr><td></td><td><input type="submit" value="Add To Block"></td></td></tr></table>' output+='<table align="center" border="1"><tr><th><font size="3" color="black">Block No</th>' output+='<th><font size="3" color="black">Block Name</th>' output+='<th><font size="3" color="black">Previous Proof Hash</th>'
  • 6. output+='<th><font size="3" color="black">New Hash</th>' output+='<th><font size="3" color="black">Block Created Time</th>' output+='</tr>' for i in range(len(blockchain.chain)): b = blockchain.chain[i] if b.index > 0: output+='<tr><td><font size="3" color="black">'+str(b.index)+'</td>' output+='<td><font size="3" color="black">'+str(b.transactions)+'</td>' output+='<td><font size="3" color="black">'+str(b.previous_hash)+'</td>' output+='<td><font size="3" color="black">'+str(b.hash)+'</td>' output+='<td><font size="3" color="black">'+str(str(datetime.fromtimestamp(b.timestamp)))+'</td></tr>' output+='<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr></table><br/><br/><br/><br/><br/><br/><br/>< br/>' context= {'data':output} return render(request, 'AddToBlock.html', context) def AddToBlock(request): if request.method == 'GET': output = '' output+='<tr><td><font size="3" color="black">Choose&nbsp;Peer&nbsp;Name</td><td><select name="t1">'
  • 7. with open('BC_DB.txt', 'rb') as input: blockchain = pickle.load(input) input.close() for i in range(len(blockchain.peer)): block = blockchain.peer[i] #arr = block.split(",") output+='<option value='+block+'>'+block+'</option>' output+='</select></td></tr><tr><td></td><td><input type="submit" value="Add To Block"></td></td></tr></table>' output+='<table align="center" border="1"><tr><th><font size="3" color="black">Block No</th>' output+='<th><font size="3" color="black">Block Name</th>' output+='<th><font size="3" color="black">Previous Proof Hash</th>' output+='<th><font size="3" color="black">New Hash</th>' output+='<th><font size="3" color="black">Block Created Time</th>' output+='</tr>' for i in range(len(blockchain.chain)): b = blockchain.chain[i] if b.index > 0: output+='<tr><td><font size="3" color="black">'+str(b.index)+'</td>' output+='<td><font size="3" color="black">'+str(b.transactions)+'</td>' output+='<td><font size="3" color="black">'+str(b.previous_hash)+'</td>' output+='<td><font size="3" color="black">'+str(b.hash)+'</td>' output+='<td><font size="3" color="black">'+str(str(datetime.fromtimestamp(b.timestamp)))+'</td></tr>'
  • 8. output+='<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr></table><br/><br/><br/><br/><br/><br/><br/>< br/>' context= {'data':output} return render(request, 'AddToBlock.html', context) def index(request): if request.method == 'GET': return render(request, 'index.html', {}) def AddPeer(request): if request.method == 'GET': blockchain = Blockchain() #with open('BC_DB.txt', 'wb') as outputs: # pickle.dump(blockchain, outputs, pickle.HIGHEST_PROTOCOL) #outputs.close() with open('BC_DB.txt', 'rb') as input: blockchain = pickle.load(input) input.close() output = '' output+='<table align="center" border="1"><tr><th><font size="3" color="black">Added Peer Details</th></tr>' for i in range(len(blockchain.peer)): block = blockchain.peer[i]
  • 9. output+='<tr><td><font size="3" color="black">'+block+'</td></tr>' output+='<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr></table><br/><br/><br/><br/><br/><br/><br/>< br/>' context= {'data':output} return render(request, 'AddPeer.html', context) def AddPeerAction(request): if request.method == 'POST': name = request.POST.get('t1', False) #blockchain = Blockchain() with open('BC_DB.txt', 'rb') as input: blockchain = pickle.load(input) input.close() x = name blockchain.addPeer(x) with open('BC_DB.txt', 'wb') as outputs: pickle.dump(blockchain, outputs, pickle.HIGHEST_PROTOCOL) outputs.close() output = '' output+='<table align="center" border="1"><tr><th><font size="3" color="black">Added Peer Details</th></tr>' for i in range(len(blockchain.peer)): block = blockchain.peer[i] output+='<tr><td><font size="3" color="black">'+block+'</td></tr>'