static void Main(string[] args) { Console.WriteLine("Bem Vindo ao BlockChain Structure"); int difficulty = 1; do { Console.WriteLine("Escolha uma dificuldade para sua blockchain entre 1 e 5: "); Console.Write(">"); if (!int.TryParse(Console.ReadLine(), out difficulty)) { difficulty = 0; } } while (difficulty <= 0 || difficulty > 5); Console.WriteLine("Digite o valor do bloco Gênesis"); Console.Write(">"); var genesis = new Block <string>(Console.ReadLine(), difficulty); var chain = new BlockChain <string>(genesis); int opcao = 0; do { Console.WriteLine("Escolha dentre uma das opções abaixo"); Console.WriteLine("1 - Adicionar Bloco"); Console.WriteLine("2 - Ver último bloco"); Console.WriteLine("3 - Ver primeiro bloco"); Console.WriteLine("4 - Ver todos os blocos"); Console.WriteLine("5 - Ver dificuldade"); Console.WriteLine("9 - Limpar Console"); Console.WriteLine("0 - Sair"); Console.Write(">"); if (!int.TryParse(Console.ReadLine(), out opcao)) { opcao = -1; } switch (opcao) { case 1: Console.WriteLine("Digite os dados do bloco"); Console.Write(">"); chain.AddBlock(Console.ReadLine()); Console.WriteLine(); Console.WriteLine("O bloco inserido foi: "); chain.GetLastBlock().PrintBlock(); Console.WriteLine(); break; case 2: Console.WriteLine("O último bloco é: "); chain.GetLastBlock().PrintBlock(); Console.WriteLine(); break; case 3: Console.WriteLine("O primeiro bloco é: "); chain.GetGenesisBlock().PrintBlock(); Console.WriteLine(); break; case 4: chain.PrintChain(); Console.WriteLine(); break; case 5: Console.WriteLine("A dificuldade dessa BlockChain é: {0}", difficulty); Console.WriteLine(); break; case 9: Console.Clear(); break; } } while (opcao > 0); Console.WriteLine("Byeeee"); }