嗨有没有办法使用Cash.generateSpend
并与之分配消息备忘录?
我的用例很简单,当我花费案例时,我想将现金标记为一些通用类别,例如,手动转移或自动转移到特定方。 我一直在经历https://docs.corda.net/api/kotlin/corda/net.corda.finance.contracts.asset/-cash/index.html但是没有方法可以为资产转移目的添加标记。
主要目的是当我查询我的历史交易时,我可以看到我的资金流动。
答案 0 :(得分:0)
您可以在流中为任何事务添加注释,如下所示:
val dfMainOutputFinal = dfMainOutput.withColumn("ThirdPartySourcePriority", $"ThirdPartySourcePriority".cast(StringType)).withColumn("ThirdPartySourceCodeId", $"ThirdPartySourceCodeId".cast(StringType)).na.fill("").select($"DataPartition",concat_ws("|^|", dfMainOutput.schema.fieldNames.filter(_ != "DataPartition").map(c => col(c)): _*).as("concatenated"))
如果需要,可以在同一笔交易中添加多个笔记。
然后,您可以在流中查看与给定交易相关的注释:
serviceHub.vaultService.addNoteToTransaction(
theTransactionToAddANoteTo.id,
"The note to add to the transaction."
)
您还可以直接登录节点的数据库并检查serviceHub.vaultService.getTransactionNotes(
theTransactionToGetNotesFor.id
)
表的内容。
答案 1 :(得分:0)
您需要编写一个自定义SQL查询来连接两个表(使用事务ID作为连接键) - vault_states / vault_fungible_states和vault_transaction_notes - 使用serviceHub.jdbcSession()。
如果您希望我们扩展Vault Query API以提供查询条件方法来自动执行此功能,请免费添加功能请求。请在这里添加: https://github.com/corda/corda/issues