我在网络上有一个特定的节点/参与者(例如银行),必须是某种类型的交易的签名者,我该如何反映呢? (例如,partyA想创建一个帐户,而我每次都需要银行进行验证)
目前,我正试图在合同中找到一种方法
private fun verifyCreate(tx: LedgerTransaction) = requireThat {
"There should be an actual output to the creation" using (tx.outputsOfType<StockAccountState>().size == 1)
val outStockAccountState =tx.outRefsOfType<StockAccountState>().single();
"There should be No inputs when creating an account" using (tx.inputs.isEmpty())
val neededParty = Party(???) // How do I get either the certificate or the name and publickey ??
val expectedSigners = listOf(outStockAccountState.state.data.custodian, neededParty)
}
基本上,我需要创建银行方来检查实际的签名者,但我不知道如何签名。
也许还有另一种方法,但我不知道哪一个
答案 0 :(得分:0)
您必须确保您的StockAccountState
有一个名为val bank :Party
的字段,因此您的合同要验证签名者是否由outStockAccountState.bank
组成。