added test connections before changing files
This commit is contained in:
parent
3b2d4f7fbf
commit
77126c6464
@ -63,6 +63,8 @@ class User:
|
||||
private_key, public_key = Signature.generateKeys()
|
||||
private_ser, public_ser = Signature.keysToBytes(private_key, public_key)
|
||||
# register user
|
||||
|
||||
UtilityHelper.testConnection(self.peer_ip_addr, self.peer_port)
|
||||
if self.db.createUser( private_ser, public_ser, input_username, hashed_password):
|
||||
# NEW SEND USER
|
||||
socketHelper.sendObj(self.peer_ip_addr, ["USER CREATE",private_ser, public_ser, input_username, hashed_password], self.peer_port)
|
||||
@ -96,6 +98,7 @@ class User:
|
||||
hashed_new_password = UtilityHelper.computeHash(new_password)
|
||||
hashed_old_password = UtilityHelper.computeHash(old_password)
|
||||
|
||||
UtilityHelper.testConnection(self.peer_ip_addr, self.peer_port)
|
||||
if self.db.changePassword(self.private_ser, hashed_old_password, hashed_new_password) == True:
|
||||
# NEW SEND USER
|
||||
socketHelper.sendObj(self.peer_ip_addr, ["USER CHANGE PASSWORD",self.private_ser, hashed_old_password, hashed_new_password], self.peer_port)
|
||||
@ -115,6 +118,7 @@ class User:
|
||||
print(f"{UtilityHelper.errorMessage('Username already taken')}")
|
||||
return False
|
||||
|
||||
UtilityHelper.testConnection(self.peer_ip_addr, self.peer_port)
|
||||
if self.db.changeUsername(self.private_ser, new_username) == True:
|
||||
self.username = new_username
|
||||
# NEW SEND USER
|
||||
@ -138,7 +142,7 @@ class User:
|
||||
|
||||
else:
|
||||
print(f"{UtilityHelper.warningMessage('Invalid input')}")
|
||||
|
||||
UtilityHelper.testConnection(self.peer_ip_addr, self.peer_port)
|
||||
if self.db.deleteUser(self.private_ser) == True:
|
||||
# NEW SEND USER
|
||||
socketHelper.sendObj(self.peer_ip_addr, ["USER DELETE",self.private_ser], self.peer_port)
|
||||
|
@ -306,22 +306,22 @@ def validateMinedBlock(self):
|
||||
new_reward.createRewardTransaction(new_block.metadata['miner'], self.user.private_ser, "MINE", fees)
|
||||
|
||||
taskHelper.createLog(self, new_block.metadata['miner'], time.time(), f"Block id {new_block.id}, is validated! You received a reward of {fees + 25} coins!")
|
||||
utilityHelper.addFile("../data/transaction_pool.dat", new_reward)
|
||||
|
||||
# NEW SEND TRANSACTION
|
||||
socketHelper.sendObj(self.peer_ip_addr, new_reward, self.peer_port)
|
||||
utilityHelper.addFile("../data/transaction_pool.dat", new_reward)
|
||||
|
||||
try:
|
||||
del blocks[-1]
|
||||
except:
|
||||
return False
|
||||
|
||||
utilityHelper.resetFile("../data/ledger.dat")
|
||||
blocks.append(new_block)
|
||||
|
||||
# NEW SEND BLOCK
|
||||
socketHelper.sendObj(self.peer_ip_addr, new_block, self.peer_port)
|
||||
|
||||
utilityHelper.resetFile("../data/ledger.dat")
|
||||
blocks.append(new_block)
|
||||
|
||||
for block in blocks:
|
||||
utilityHelper.addFile("../data/ledger.dat", block)
|
||||
|
||||
@ -334,6 +334,7 @@ def validateMinedBlock(self):
|
||||
taskHelper.createLog(self, new_block.metadata['miner'], time.time(), f"Block id {new_block.id}, was flagged invalid. Mine unsuccesful...")
|
||||
# setsaveFil transactions in block back to the pool
|
||||
for transaction in new_block.data:
|
||||
socketHelper.sendObj(self.peer_ip_addr, transaction, self.peer_port)
|
||||
utilityHelper.addFile("../data/transaction_pool.dat", transaction)
|
||||
try:
|
||||
del blocks[-1]
|
||||
@ -341,11 +342,11 @@ def validateMinedBlock(self):
|
||||
print(f"{utilityHelper.errorMessage('Something went wrong')}")
|
||||
return False
|
||||
|
||||
utilityHelper.resetFile("../data/ledger.dat")
|
||||
|
||||
# NEW SEND BLOCK
|
||||
socketHelper.sendObj(self.peer_ip_addr, new_block, self.peer_port)
|
||||
|
||||
utilityHelper.resetFile("../data/ledger.dat")
|
||||
|
||||
for block in blocks:
|
||||
utilityHelper.addFile("../data/ledger.dat", block)
|
||||
|
||||
@ -439,6 +440,17 @@ def updateBlockValidation(block):
|
||||
utilityHelper.resetFile("../data/ledger.dat")
|
||||
blocks.append(block)
|
||||
|
||||
if block.metadata['false_validations'] >= 3:
|
||||
# Create log for miner
|
||||
# setsaveFil transactions in block back to the pool
|
||||
for transaction in block.data:
|
||||
utilityHelper.addFile("../data/transaction_pool.dat", transaction)
|
||||
try:
|
||||
del blocks[-1]
|
||||
except:
|
||||
print(f"{utilityHelper.errorMessage('Something went wrong')}")
|
||||
return False, True
|
||||
|
||||
for b in blocks:
|
||||
utilityHelper.addFile("../data/ledger.dat", b)
|
||||
|
||||
@ -446,5 +458,3 @@ def updateBlockValidation(block):
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -47,6 +47,7 @@ def sendObj(ip_addr, blk, port):
|
||||
return True
|
||||
except:
|
||||
print("Could not connect to peer")
|
||||
utilityHelper.close()
|
||||
return False
|
||||
|
||||
def connection(ip, port, db):
|
||||
@ -124,3 +125,5 @@ def connection(ip, port, db):
|
||||
case "EXIT":
|
||||
utilityHelper.close()
|
||||
continue
|
||||
case "TEST":
|
||||
continue
|
@ -9,7 +9,7 @@ def displayUnreadLogs(self):
|
||||
return False
|
||||
|
||||
printLogs(logs)
|
||||
|
||||
socketHelper.testConnection(self.peer_ip_addr, self.peer_port)
|
||||
for log in logs:
|
||||
self.db.updateLogStatus(log[0])
|
||||
# NEW SEND USER
|
||||
@ -87,6 +87,7 @@ def getPersonalTransactions(self):
|
||||
print("-----------------------------------------------------------------------------------")
|
||||
|
||||
def createLog(self, public_key, date, info, unread = 0):
|
||||
socketHelper.testConnection(self.peer_ip_addr, self.peer_port)
|
||||
self.db.createLog(public_key, date, info, unread)
|
||||
# NEW SEND USER
|
||||
socketHelper.sendObj(self.peer_ip_addr, ["CREATE LOG",public_key, date, info, unread], self.peer_port)
|
@ -95,6 +95,9 @@ def headerMessage(text):
|
||||
def blinkMessage(text):
|
||||
return bcolors.BLINK + text + bcolors.ENDC
|
||||
|
||||
def testConnection(ip, port):
|
||||
socketHelper.sendObj(ip, "TEST", port)
|
||||
|
||||
def closeConnection(ip, port):
|
||||
socketHelper.sendObj(ip, "EXIT", port)
|
||||
print(f"{bcolors.WARNING}Closing connection{bcolors.ENDC}")
|
||||
|
Loading…
x
Reference in New Issue
Block a user