【发布时间】:2022-11-11 01:24:06
【问题描述】:
我已经使用成功部署了一个合同
Optional<TransactionReceipt> receipt = Contract.deploy(...).send().getTransactionReceipt();
收据不会返回时间戳。 它返回交易哈希和区块号。
我将如何使用 web3j 库来获取合同创建时间的时间戳?
【问题讨论】:
标签: android ethereum web3-java
我已经使用成功部署了一个合同
Optional<TransactionReceipt> receipt = Contract.deploy(...).send().getTransactionReceipt();
收据不会返回时间戳。 它返回交易哈希和区块号。
我将如何使用 web3j 库来获取合同创建时间的时间戳?
【问题讨论】:
标签: android ethereum web3-java
您从块中获取时间戳(其中包括合约创建交易)。
let block = await web3.eth.getBlock(nr);
let date = new Date(Number(block.timestamp) * 1000)
【讨论】:
.getBlock 方法
如果你有交易收据,你可以得到一个 Date 对象,如下所示。
TransactionReceipt txnReceipt = ...
...
EthBlock txnBlock = web3j.ethGetBlockByHash(txnReceipt.getBlockHash(),true).send();
long txnBlockTimestamp = txnBlock.getBlock().getTimestamp().longValueExact() * 1000;
Date blockDate = new Date(txnBlockTimestamp);
【讨论】: