假定为节点提供了包含一些状态的已过滤事务,而某些状态已被排除在外。节点如何在事务中包含的状态上运行智能合约验证功能?我正在尝试实现类似于ledgerTransaction.verify()
答案 0 :(得分:0)
从Corda 3开始,您无法运行其余州的verify
方法,因为verify
方法需要一个LedgerTransaction
。
相反,您将不得不从FilteredTransaction
中检索状态,并提供自己的检查逻辑。例如:
val inputStateRefs = filteredTransaction.inputs
val inputStateAndRefs = inputStateRefs.map { inputStateRef ->
serviceHub.toStateAndRef<TemplateState>(inputStateRef)
}
inputStateAndRefs.forEach { inputStateAndRef ->
val state = inputStateAndRef.state
// TODO: Checking...
}