我正在学习Corda 4.3中发布的Account概念。该概念还允许节点通过使用帐户密钥而不是节点密钥来签署交易。我研究了几个方面,仍然有疑问:
谢谢。
答案 0 :(得分:0)
这不是关于使用帐户密钥而不是节点密钥进行签名的关键好处,而是国家合同规定的内容。
例如,如果您查看gold-trading
示例:
owningAccount
:data class LoanBook(val dealId: UUID, val valueInUSD: Long,
val owningAccount: PublicKey? = null) : ContractState
owningAccount
是TRANSFER
命令的必需签名者:inputGold.owningAccount?.let {
require(inputGold.owningAccount in command.signers) {
"The account sending the loan must be a required signer" }
}
owningAccount
的密钥(因为合同规定)来签署事务:val locallySignedTx = serviceHub.signInitialTransaction(transactionBuilder,
listOfNotNull(loanBook.state.data.owningAccount,
ourIdentity.owningKey))