Solidity

如何獲取使用松露部署的合約的區塊數?

  • November 17, 2018

我們使用truffle migrate.

我們需要webapp中合約部署交易的blockNumber。

我們可以web3.eth.getTransaction(txhash).blockNumber()在應用程序中使用但無法獲取 txhash,因為 truffle 生成的 JSON 文件不包含它。

如何在前端應用程序上檢索合約部署 blockNumber?

我的解決方案是這樣的(如果您使用 web3 之前的 1.0 版。):

  1. 您可以通過了解發送合約創建交易的地址和相應的 nonce來計算已部署**合約的地址。**看看這個
  2. 現在您可以創建您的合約實例,因為您擁有 abi 和合約地址。
  3. 從創建的合約實例中,您可以通過訪問此欄位簡單地獲得創建它的交易的 txHash:myContractInstance.transactionHash

使用 truffle 4.x 測試的解決方案,在您的 js 中使用: let block = await web3.eth.getBlock("latest") console.log(block.number)

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