-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathmenu.py
65 lines (58 loc) · 2.61 KB
/
menu.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
from api_calls import *
def view_balance():
address = input("Digite o endereço Ethereum: ")
balance_data = get_balance_by_address(address)
if "error" not in balance_data:
print(f"Saldo para {address}:")
print(f" - Wei: {balance_data['balance_wei']}")
print(f" - Ether: {balance_data['balance_ether']:.18f}")
else:
print(f"Falha ao recuperar o saldo: {balance_data['error']}")
def view_last_block():
block_data = get_last_block()
if "error" not in block_data:
print(f"Número do Último Bloco: {block_data['block_number']}")
else:
print(f"Falha ao recuperar o último bloco: {block_data['error']}")
def view_last_transactions():
address = input("Digite o endereço Ethereum: ")
num_transacoes = int(input("Digite o número de transações a serem retornadas: "))
transactions_data = get_last_transactions(address)
if "error" not in transactions_data:
print(f"Últimas {num_transacoes} transações para {address}:")
transactions = transactions_data['transactions'][:num_transacoes]
for i, tx in enumerate(transactions, start=1):
print(f"\nTransação {i}:")
print(f" Hash: {tx['hash']}")
print(f" De: {tx['from']}")
print(f" Para: {tx['to']}")
print(f" Valor: {int(tx['value']) / 10**18} Ether")
print(f" Bloco: {tx['blockNumber']}")
else:
print(f"Falha ao recuperar as transações: {transactions_data['error']}")
def view_transaction_by_hash():
txhash = input("Digite o hash da transação: ")
transaction_data = eth_getTransactionByHash(txhash)
if "error" not in transaction_data:
print("Informações sobre a transação:\n")
for k, v in transaction_data.items():
print(f"{k}: {v}")
else:
print(f"\nFalha ao recuperar as transações: {transaction_data['error']}")
def menu():
while True:
print("\n--- Menu Interativo ---")
print("1. Verificar saldo de um endereço Ethereum")
print("2. Obter o último bloco")
print("3. Obter últimas transações de um endereço Ethereum")
print("4. Obter as informações de uma transação por seu Hash")
print("5. Sair")
funcs = {"1": view_balance, "2": view_last_block, "3": view_last_transactions, "4": view_transaction_by_hash}
escolha = input("Escolha uma opção (1-5): ")
if escolha == "5":
print("Saindo do programa...")
break
elif escolha in funcs:
funcs.get(escolha)()
else:
print("Não entendi, tente novamente.")