Solidity
如何獲取使用松露部署的合約的區塊數?
我們使用
truffle migrate
.我們需要webapp中合約部署交易的blockNumber。
我們可以
web3.eth.getTransaction(txhash).blockNumber()
在應用程序中使用但無法獲取 txhash,因為 truffle 生成的 JSON 文件不包含它。如何在前端應用程序上檢索合約部署 blockNumber?
我的解決方案是這樣的(如果您使用 web3 之前的 1.0 版。):
- 您可以通過了解發送合約創建交易的地址和相應的 nonce來計算已部署**合約的地址。**看看這個!
- 現在您可以創建您的合約實例,因為您擁有 abi 和合約地址。
- 從創建的合約實例中,您可以通過訪問此欄位簡單地獲得創建它的交易的 txHash:
myContractInstance.transactionHash
使用 truffle 4.x 測試的解決方案,在您的 js 中使用:
let block = await web3.eth.getBlock("latest") console.log(block.number)