在Corda中,如何获取交易发生的时间戳? [英] In Corda, how to get the timestamp of when a transaction happened?

查看:58
本文介绍了在Corda中,如何获取交易发生的时间戳?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Corda 3.2。给定 SignedTransaction ,如何确定何时记录?

I am using Corda 3.2. Given a SignedTransaction, how can I establish when it was recorded?

推荐答案

没有直接的API可以确定何时记录交易。但是,您可以通过以下任一方法来实现此目的:

There is no direct API for determining when a transaction was recorded. However, you can achieve this by checking either:


  1. 当消耗了一笔交易的输入时:

  1. When one of the transaction's inputs was consumed:

val inputStateRef = signedTx.inputs[0]
val queryCriteria = QueryCriteria.VaultQueryCriteria(stateRefs = listOf(inputStateRef))
val results = serviceHub.vaultService.queryBy<ContractState>(queryCriteria)
val consumedTime = results.statesMetadata.single().consumedTime!!


  • 记录到交易的输出之一时:

  • When one of the transaction's outputs was recorded:

    val ledgerTx = signedTx.toLedgerTransaction(serviceHub)
    val outputStateRef = StateRef(signedTx.id, 0)
    val queryCriteria = QueryCriteria.VaultQueryCriteria(stateRefs = listOf(outputStateRef))
    val results = serviceHub.vaultService.queryBy<ContractState>(queryCriteria)
    val recordedTime = results.statesMetadata.single().recordedTime
    


  • 这篇关于在Corda中,如何获取交易发生的时间戳?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆