fixed rounding, cleaner pool print
This commit is contained in:
parent
97f919e435
commit
a26bc010b6
@ -129,7 +129,7 @@ def createBlock(self):
|
|||||||
if transaction.type == 1:
|
if transaction.type == 1:
|
||||||
fees[x] = 0
|
fees[x] = 0
|
||||||
else:
|
else:
|
||||||
fees[x] = transaction.inputs[0][1] - transaction.outputs[0][1]
|
fees[x] = round(transaction.inputs[0][1] - transaction.outputs[0][1], 2)
|
||||||
x+=1
|
x+=1
|
||||||
|
|
||||||
fees_list = list(fees.keys())
|
fees_list = list(fees.keys())
|
||||||
@ -278,7 +278,7 @@ def validateMinedBlock(self):
|
|||||||
fees += transaction.inputs[0][1] - transaction.outputs[0][1]
|
fees += transaction.inputs[0][1] - transaction.outputs[0][1]
|
||||||
self.db.createLog(transaction.inputs[0][0], time.time(), f"Transaction of {transaction.inputs[0][1]} is added in block id {new_block.id}")
|
self.db.createLog(transaction.inputs[0][0], time.time(), f"Transaction of {transaction.inputs[0][1]} is added in block id {new_block.id}")
|
||||||
self.db.createLog(transaction.outputs[0][0], time.time(), f"You have received new coins: {transaction.outputs[0][1]}, To see all info view block id {new_block.id}")
|
self.db.createLog(transaction.outputs[0][0], time.time(), f"You have received new coins: {transaction.outputs[0][1]}, To see all info view block id {new_block.id}")
|
||||||
|
fees = round(fees, 2)
|
||||||
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!")
|
||||||
|
@ -159,11 +159,7 @@ class MenuHelper:
|
|||||||
if len(transactions) == 0:
|
if len(transactions) == 0:
|
||||||
print(f"{utilityHelper.warningMessage('Transaction pool is empty')}")
|
print(f"{utilityHelper.warningMessage('Transaction pool is empty')}")
|
||||||
continue
|
continue
|
||||||
x = 0
|
transactionHelper.printAllTransactions()
|
||||||
for transaction in transactions:
|
|
||||||
x += 1
|
|
||||||
print(f"---------------------------------------{x}-------------------------------------------")
|
|
||||||
print(f"{transaction}")
|
|
||||||
print("---------------------------------------END-------------------------------------------")
|
print("---------------------------------------END-------------------------------------------")
|
||||||
|
|
||||||
case "Mine a block":
|
case "Mine a block":
|
||||||
|
@ -64,7 +64,7 @@ def getPersonalTransactions(self):
|
|||||||
else:
|
else:
|
||||||
input_user = transaction.inputs[0][0]
|
input_user = transaction.inputs[0][0]
|
||||||
input_amount = transaction.inputs[0][1]
|
input_amount = transaction.inputs[0][1]
|
||||||
fee = input_amount - transaction.outputs[0][1]
|
fee = round(input_amount - transaction.outputs[0][1],2)
|
||||||
print(f"---------------------------------------{total}-------------------------------------------")
|
print(f"---------------------------------------{total}-------------------------------------------")
|
||||||
print(f"Transaction input: {input_amount}")
|
print(f"Transaction input: {input_amount}")
|
||||||
print(f"Transaction output: {transaction.outputs[0][1]}")
|
print(f"Transaction output: {transaction.outputs[0][1]}")
|
||||||
|
@ -60,6 +60,25 @@ def transaction(self):
|
|||||||
new_tx.createTransaction(self.user.public_ser, self.user.private_ser, amount, fee, receiver_data[1])
|
new_tx.createTransaction(self.user.public_ser, self.user.private_ser, amount, fee, receiver_data[1])
|
||||||
return new_tx
|
return new_tx
|
||||||
|
|
||||||
|
def printAllTransactions():
|
||||||
|
transactions = utilityHelper.loadFile("../data/transaction_pool.dat")
|
||||||
|
total = 0
|
||||||
|
|
||||||
|
for transaction in transactions:
|
||||||
|
total += 1
|
||||||
|
print(f"---------------------------------------{total}-------------------------------------------")
|
||||||
|
if transaction.type == 1:
|
||||||
|
print(f"Transaction input: Reward")
|
||||||
|
print(f"Transaction output: {transaction.outputs[0][1]}")
|
||||||
|
print(f"Transaction recipient: \n{transaction.outputs[0][0]}")
|
||||||
|
else:
|
||||||
|
print(f"Transaction input: {transaction.inputs[0][1]}")
|
||||||
|
print(f"Transaction output: {transaction.outputs[0][1]}")
|
||||||
|
print(f"Transaction fee: {round(transaction.inputs[0][1] - transaction.outputs[0][1],2)}")
|
||||||
|
print(f"Transaction sender: \n{transaction.inputs[0][0]}")
|
||||||
|
print(f"Transaction recipient: \n{transaction.outputs[0][0]}")
|
||||||
|
print(f"Transaction signature: \n{transaction.sigs}")
|
||||||
|
|
||||||
def pendingTransactions(self):
|
def pendingTransactions(self):
|
||||||
transactions = utilityHelper.loadFile("../data/transaction_pool.dat")
|
transactions = utilityHelper.loadFile("../data/transaction_pool.dat")
|
||||||
total = 0
|
total = 0
|
||||||
@ -123,7 +142,7 @@ def pendingTransactions(self):
|
|||||||
print(f"---------------------------------------{str(user_input)}-------------------------------------------")
|
print(f"---------------------------------------{str(user_input)}-------------------------------------------")
|
||||||
print(f"Transaction input: {user_transactions.get(user_input).inputs[0][1]}")
|
print(f"Transaction input: {user_transactions.get(user_input).inputs[0][1]}")
|
||||||
print(f"Transaction output: {user_transactions.get(user_input).outputs[0][1]}")
|
print(f"Transaction output: {user_transactions.get(user_input).outputs[0][1]}")
|
||||||
print(f"Transaction fees: {user_transactions.get(user_input).inputs[0][1] - user_transactions.get(user_input).outputs[0][1]}")
|
print(f"Transaction fees: {round(user_transactions.get(user_input).inputs[0][1] - user_transactions.get(user_input).outputs[0][1],2)}")
|
||||||
print(f"Transaction sender: \n{user_transactions.get(user_input).inputs[0][0]}")
|
print(f"Transaction sender: \n{user_transactions.get(user_input).inputs[0][0]}")
|
||||||
print(f"Transaction recipient: \n{user_transactions.get(user_input).outputs[0][0]}")
|
print(f"Transaction recipient: \n{user_transactions.get(user_input).outputs[0][0]}")
|
||||||
print(f"---------------------------------------END-------------------------------------------")
|
print(f"---------------------------------------END-------------------------------------------")
|
||||||
@ -143,21 +162,33 @@ def pendingTransactions(self):
|
|||||||
amount = input(">>: ")
|
amount = input(">>: ")
|
||||||
try:
|
try:
|
||||||
amount = float(amount)
|
amount = float(amount)
|
||||||
|
amount = round(amount, 2)
|
||||||
except:
|
except:
|
||||||
utilityHelper.clearScreen()
|
utilityHelper.clearScreen()
|
||||||
print("Wrong input, try again")
|
print("Wrong input, try again")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if amount <= 0:
|
||||||
|
utilityHelper.clearScreen()
|
||||||
|
print(f"{utilityHelper.warningMessage('Transaction value needs to be above zero')}")
|
||||||
|
return
|
||||||
|
|
||||||
print("Enter a new fee")
|
print("Enter a new fee")
|
||||||
fee = input(">>: ")
|
fee = input(">>: ")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
fee = float(fee)
|
fee = float(fee)
|
||||||
|
fee = round(fee, 2)
|
||||||
except:
|
except:
|
||||||
utilityHelper.clearScreen()
|
utilityHelper.clearScreen()
|
||||||
print("Wrong input, try again")
|
print("Wrong input, try again")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if fee < 0:
|
||||||
|
utilityHelper.clearScreen()
|
||||||
|
print(f"{utilityHelper.warningMessage('Transaction fee needs to be above zero or above')}")
|
||||||
|
return
|
||||||
|
|
||||||
if amount + fee > taskHelper.getBalanceWithOutgoingPool(self, taskHelper.getBalance(self)):
|
if amount + fee > taskHelper.getBalanceWithOutgoingPool(self, taskHelper.getBalance(self)):
|
||||||
utilityHelper.clearScreen()
|
utilityHelper.clearScreen()
|
||||||
print("You dont have enough money")
|
print("You dont have enough money")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user