Sobre o explorador de blocos
Um explorador de blocos permite que você inspecione uma blockchain para ver seus blocos e transações.
Este documento é baseado principalmente no explorador Blockscout, mas os exploradores de blockchain necessariamente usam terminologia semelhante e seguem um padrão semelhante em sua apresentação de informações.
Quando você usa um explorador de blocos, ele listará campos e seus conteúdos. Este documento ajudará você a entender o significado dos nomes dos campos e a significância de seus conteúdos.
Glossário
Estes são os nomes de campos comumente usados em exploradores de blocos na sidechain EVM de prova de conceito.
Termos Gerais
- Ator
- Qualquer entidade que pode fazer algo acontecer em uma blockchain. Atores podem incluir usuários, carteiras, endereços e nós da rede.
- Endereço
- Um endereço é uma localização para ou de onde ocorrem transações na blockchain. Ele está associado a uma chave pública.
- Função de Hash
- Uma função de hash criptográfica recebe uma string de comprimento variável e produz uma string de comprimento fixo chamada valor de hash. Um valor de hash é fácil de calcular, mas não é viável derivar a entrada dado apenas a saída, e não é viável calcular duas entradas que produzirão o mesmo valor de hash. Para uma definição canônica, veja esta publicação do NIST.
Qualquer alteração na entrada, não importa quão pequena, resultará em uma saída muito diferente. Cada bloco contém o hash do bloco precedente para que qualquer um possa verificar a integridade da cadeia.
Página Inicial
- Tempo médio de bloco
- O comprimento de tempo entre a adição de um bloco à blockchain e a adição do próximo bloco; o tempo que leva para adicionar um bloco à cadeia. Depende do tempo de slot da cadeia.
- Total de transações
- Uma transação é um evento na blockchain, como uma transferência de moeda de um endereço para outro. Um número variável de transações pode caber em cada bloco.
Comparando o total de transações com o total de blocos, você pode deduzir o número médio de transações por bloco.
- Total de blocos
- Um a mais do que a altura atual do bloco da cadeia, que é o número do último bloco.
- Endereços de carteira
- O número de endereços de carteira usados na blockchain até agora.
Um endereço de carteira é a fonte ou destino de uma transferência. No modelo de conta Ethereum, uma carteira tem exatamente um endereço.
Blocos
- Altura do bloco
- O número deste bloco. É um a menos do que o número de blocos válidos adicionados à blockchain até este ponto. (O primeiro bloco é o bloco 0). Blocos inválidos ou ignorados não são contados.
- Timestamp
- O momento em que o bloco foi adicionado à cadeia.
- Transações
- O número de transações incluídas no bloco.
- Validador
- O endereço do ator que adicionou este bloco à cadeia.
- Tamanho
- O comprimento do bloco em bytes.
- Hash
- O valor de hash deste bloco. Veja a definição de 'função de hash' acima.
- Hash pai
- O valor de hash do bloco anterior.
- Gás usado
- Gás é pago aos validadores para compensá-los pelos recursos usados para processar uma transação. O preço do gás varia com a oferta e demanda.
- Limite de gás
- A quantidade máxima de gás que o ator que iniciou a transação está disposto a pagar.
- Recompensa do Validador
- O número de moedas concedidas ao validador deste bloco. As moedas são recém cunhadas; elas não vêm de taxas de transação.
Transações
- Transação
- O explorador de blocos mostrará uma transferência de moeda como uma transação.
A definição formal é 'Um pedaço de dados, assinado por um *ator externo*. Representa ou uma *mensagem* ou um novo *objeto autônomo*. Transações são registradas em cada bloco da blockchain.' (Do Papel Amarelo.)
- Chamada de contrato
- Uma chamada de contrato é um caso especial de uma transação; o destino é um contrato inteligente em vez de um usuário final. Um contrato inteligente foi enviado para a rede e registrado na blockchain.
- Chamada
- Observe que se um nó usa o método de chamada web3.js web3.eth.call, isso não aparecerá em um explorador de blocos porque é uma ação local; a rede não é informada sobre isso e não afetará a blockchain. O JSON-RPC subjacente é eth_call.
Esta técnica é usada em um 'teste seco' de um contrato inteligente. Quando funciona com sucesso, o contrato inteligente pode ser enviado à blockchain usando web3.eth.sendSignedTransaction.