我们可以得到最新开采的区块的编号及其内部的哈希值,geth
如下所示。
> eth.syncing.currentBlock
569367
> eth.getBlock(eth.syncing.currentBlock).hash
"0xac51e27c3fe38af1a0aeb2867a741ba6aa16780e435a586d934ccea3a71874b1"
是否可以获得最新开采的区块的编号及其哈希值?或者我应该在我的合约中保留一个数组,当新块被开采时,在外部(my_contract.addNewHash(<some_hash>
))我应该将其哈希值放入我的数组中以供我的合约读取吗?
我已经尝试过:例如:block.number
,,block.blockhash
但我确实遇到以下错误:
Untitled:6:17: Error: Expected identifier, got 'Semicolon'
block.number;
交易始终在正在挖掘的区块中执行。因此,在任何时候,block.number 都会返回正在挖掘交易的区块高度。
然而,区块的哈希值在被开采之前是未知的,而交易的输出是哈希计算的一部分,因此交易无法访问正在开采的区块的哈希值。
如果这是任何安慰的话,您可以获得最新开采区块的哈希值,即使用 开采该区块之前的哈希值
block.blockhash(block.number - 1)
。尝试这个: