corda - Corda - externalIds 属性的 CommonQueryCriteria 用途
问题描述
Corda vault API 包含一个名为CommonQueryCriteria的类,其实现方式如下:
abstract class CommonQueryCriteria : QueryCriteria() {
abstract val status: Vault.StateStatus
open val relevancyStatus: Vault.RelevancyStatus = Vault.RelevancyStatus.ALL
open val constraintTypes: Set<Vault.ConstraintInfo.Type> = emptySet()
open val constraints: Set<Vault.ConstraintInfo> = emptySet()
open val participants: List<AbstractParty>? = null
abstract val contractStateTypes: Set<Class<out ContractState>>?
open val externalIds: List<UUID> = emptyList()
open val exactParticipants: List<AbstractParty>? = null
override fun visit(parser: IQueryCriteriaParser): Collection<Predicate> {
return parser.parseCriteria(this)
}
}
externalIds
财产的目的是什么?
注意:这肯定不能用于映射UniqueIdentifier.externalId
,因为:
- 存在类型不匹配(
UUID
vs.String?
)。 LinearStateQueryCriteria
存在以通过linearId
或查询状态externalId
。
解决方案
这是为了支持 Corda 4.3 中的帐户查询而引入的: https ://github.com/corda/accounts/blob/master/docs.md#querying-the-vault-by-account
Vault Query 文档在讨论拥有密钥时在页面底部提到了这个新属性: https ://docs.corda.net/docs/corda-os/4.8/api-vault-query.html#mapping-owning-外部 ID 的键
诚然,这不是很清楚,应该参考CommonQueryCriteria
(不是VaultQueryCriteria
)并展示一个例子。
推荐阅读
- python - 如何栅格化每个像素有很多点的熊猫数据框?
- bar-chart - 考虑到 Google Data Studio 中的类别,如何对条形图进行排序?
- python - RuntimeError: '/home/pi/object-detector/model' 的 Mmap 失败
- .htaccess - htaccess 301 仅在存在查询字符串时重定向
- python - 如何在 Windows 上使用 Python Selenium 打开 Tor
- azure-cosmosdb - 获取文档数量和大小
- python - 将嵌套的多标签列表转换为 one-hot 表示
- r - 您可以从 tmap 切换到传单吗?
- python - 从终端运行脚本时无法导入 tensorflow,即使 tensorflow 在 jupyter notebook 和终端中工作
- blazor - Blazor 服务器 api 返回文本/html