delete invalid transaction
This commit is contained in:
parent
d3973ca202
commit
5cbf06aaaf
@ -65,7 +65,7 @@ def exploreBlocks(self):
|
|||||||
utilityHelper.clearScreen()
|
utilityHelper.clearScreen()
|
||||||
return
|
return
|
||||||
case "1":
|
case "1":
|
||||||
print("Validating block... TODO")
|
blocks[user_input].is_valid()
|
||||||
case "2":
|
case "2":
|
||||||
utilityHelper.clearScreen()
|
utilityHelper.clearScreen()
|
||||||
x = 0
|
x = 0
|
||||||
@ -185,10 +185,16 @@ def createBlock(self):
|
|||||||
|
|
||||||
# create block
|
# create block
|
||||||
for i in selected_transactions:
|
for i in selected_transactions:
|
||||||
# if not transaction[i].is_valid():
|
if not transactions[i].is_valid():
|
||||||
# # Return transaction as 'invalid' transaction
|
self.db.createLog(transactions[i].inputs[0][0], time.time(), f"Transaction of {transactions[i].outputs[0][1]} with {transactions[i].inputs[0][1] - transactions[i].outputs[0][1]} coins fee is declined")
|
||||||
# # stop mining with the error "Invalid transaction found. transaction removed from pool. Please restart mining a block..."
|
try:
|
||||||
# pass
|
del transactions[i]
|
||||||
|
except:
|
||||||
|
return False
|
||||||
|
for transaction in transactions:
|
||||||
|
utilityHelper.addFile("../data/transaction_pool.dat", transaction)
|
||||||
|
print(f"{utilityHelper.errorMessage('ERROR! Invalid transaction found. transaction removed from pool. Please restart mining a block...')}")
|
||||||
|
return False
|
||||||
block.addTx(transactions[i])
|
block.addTx(transactions[i])
|
||||||
|
|
||||||
|
|
||||||
@ -229,12 +235,12 @@ def createBlock(self):
|
|||||||
block.date = time.time()
|
block.date = time.time()
|
||||||
block.blockHash = block.computeHash()
|
block.blockHash = block.computeHash()
|
||||||
|
|
||||||
utilityHelper.saveFile("../data/ledger.dat", block)
|
utilityHelper.addFile("../data/ledger.dat", block)
|
||||||
utilityHelper.resetFile("../data/transaction_pool.dat")
|
utilityHelper.resetFile("../data/transaction_pool.dat")
|
||||||
transaction_count = 0
|
transaction_count = 0
|
||||||
for transaction in transactions:
|
for transaction in transactions:
|
||||||
if transaction_count not in selected_transactions:
|
if transaction_count not in selected_transactions:
|
||||||
utilityHelper.saveFile("../data/transaction_pool.dat", transaction)
|
utilityHelper.addFile("../data/transaction_pool.dat", transaction)
|
||||||
transaction_count += 1
|
transaction_count += 1
|
||||||
|
|
||||||
return True
|
return True
|
||||||
@ -275,7 +281,7 @@ def validateMinedBlock(self):
|
|||||||
new_reward = Tx()
|
new_reward = Tx()
|
||||||
new_reward.createRewardTransaction(self.user.public_ser, self.user.private_ser, "MINE", fees)
|
new_reward.createRewardTransaction(self.user.public_ser, self.user.private_ser, "MINE", fees)
|
||||||
self.db.createLog(new_block.metadata['miner'], time.time(), f"Block id {new_block.id}, is validated!")
|
self.db.createLog(new_block.metadata['miner'], time.time(), f"Block id {new_block.id}, is validated!")
|
||||||
utilityHelper.saveFile("../data/transaction_pool.dat", new_reward)
|
utilityHelper.addFile("../data/transaction_pool.dat", new_reward)
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -286,7 +292,7 @@ def validateMinedBlock(self):
|
|||||||
utilityHelper.resetFile("../data/ledger.dat")
|
utilityHelper.resetFile("../data/ledger.dat")
|
||||||
blocks.append(new_block)
|
blocks.append(new_block)
|
||||||
for block in blocks:
|
for block in blocks:
|
||||||
utilityHelper.saveFile("../data/ledger.dat", block)
|
utilityHelper.addFile("../data/ledger.dat", block)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@ -295,9 +301,9 @@ def validateMinedBlock(self):
|
|||||||
if new_block.metadata['false_validations'] >= 3:
|
if new_block.metadata['false_validations'] >= 3:
|
||||||
# Create log for miner
|
# Create log for miner
|
||||||
self.db.createLog(new_block.metadata['miner'], time.time(), f"Block id {new_block.id}, was flagged invalid. Mine unsuccesful...")
|
self.db.createLog(new_block.metadata['miner'], time.time(), f"Block id {new_block.id}, was flagged invalid. Mine unsuccesful...")
|
||||||
# set transactions in block back to the pool
|
# setsaveFil transactions in block back to the pool
|
||||||
for transaction in new_block.data:
|
for transaction in new_block.data:
|
||||||
utilityHelper.saveFile("../data/transaction_pool.dat", transaction)
|
utilityHelper.addFile("../data/transaction_pool.dat", transaction)
|
||||||
try:
|
try:
|
||||||
del blocks[-1]
|
del blocks[-1]
|
||||||
except:
|
except:
|
||||||
@ -306,7 +312,7 @@ def validateMinedBlock(self):
|
|||||||
|
|
||||||
utilityHelper.resetFile("../data/ledger.dat")
|
utilityHelper.resetFile("../data/ledger.dat")
|
||||||
for block in blocks:
|
for block in blocks:
|
||||||
utilityHelper.saveFile("../data/ledger.dat", block)
|
utilityHelper.addFile("../data/ledger.dat", block)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user