Web3js

乙太坊區塊時間戳

  • November 16, 2020

區塊的時間戳是指該區塊的創建時間還是由礦工開采的時間?

假設我使用以下 NodeJS 程式碼(使用 web3)訂閱新的傳入塊:

web3.eth.subscribe('newBlockHeaders', function(error, block){
   console.log(block.number);
   console.log(block.timestamp);
   console.log(...computer unix timestamp...);
}

我正在列印的區塊號是指最新開采的區塊?

如果我是正確的,為什麼如果我獲取該塊時間戳並將其與目前的 Unix 時間進行比較,它們會有所不同?

例如從上面的程式碼我得到:

Mined Block number: 11263715
Mined Block timestamp: 1605460505
Unix current timestamp: 1605460537

區塊的時間戳是指該區塊的創建時間還是由礦工開采的時間?

是的。

我正在列印的區塊號是指最新開采的區塊?

它指的是您節點上的最新塊。這些資訊在整個網路中是不同的,直到幾個塊之後有一些統計確認。塊可以重組,並且經常發生新的鏈尖的小重組。

f 我是對的,為什麼如果我獲取該塊時間戳並將其與目前的 Unix 時間進行比較,它們會有所不同?

如果您不是礦工,您看到的最新區塊需要一些時間才能在網路中傳播。

引用自:https://ethereum.stackexchange.com/questions/90168