podemos obter o número do último bloco minado e seu hash dentro geth
da seguinte forma.
> eth.syncing.currentBlock
569367
> eth.getBlock(eth.syncing.currentBlock).hash
"0xac51e27c3fe38af1a0aeb2867a741ba6aa16780e435a586d934ccea3a71874b1"
é possível obter o número do último bloco minerado e seu hash? ou devo manter um array dentro do meu contrato e quando um novo bloco for minerado, externamente ( my_contract.addNewHash(<some_hash>
)) devo colocar seu hash no meu array para o meu contrato ler?
Eu tentei: por exemplo: block.number
, block.blockhash
, mas me deparo com o seguinte erro:
Untitled:6:17: Error: Expected identifier, got 'Semicolon'
block.number;
As transações são sempre executadas no bloco que está sendo minerado. Assim, a qualquer momento, block.number retornará a altura do bloco em que a transação está sendo minerada.
No entanto, o hash do bloco não é conhecido até que seja minerado, e a saída das transações faz parte do cálculo do hash, portanto, a transação não tem acesso ao hash do bloco que está sendo minerado.
Se isso serve de consolo, você pode obter o hash do último bloco minerado, ou seja, aquele logo antes deste bloco ser minerado com
block.blockhash(block.number - 1)
.Tente isto: