在corda中,如何跟踪LinearState资产的以前使用状态?

在corda中,如何跟踪LinearState资产的以前使用状态?,corda,Corda,在供应链管理中,当前所有者需要跟踪资产的生命周期。我如何在corda实现这一点?假设资产是线性状态资产,随着时间的推移所有权会发生变化。如果当前所有者希望查看资产在一段时间内拥有的所有所有者,如何解决此问题?在流中,您可以使用其唯一标识符查询vault中某个状态的过去版本。例如: QueryCriteria.LinearStateQueryCriteria criteria = new QueryCriteria.LinearStateQueryCriteria( null,

在供应链管理中,当前所有者需要跟踪资产的生命周期。我如何在corda实现这一点?假设资产是线性状态资产,随着时间的推移所有权会发生变化。如果当前所有者希望查看资产在一段时间内拥有的所有所有者,如何解决此问题?

在流中,您可以使用其唯一标识符查询vault中某个状态的过去版本。例如:

QueryCriteria.LinearStateQueryCriteria criteria = new QueryCriteria.LinearStateQueryCriteria(
        null,
        ImmutableList.of(stateLinearId),
        // Change to `UNCONSUMED` for only unconsumed states, or `CONSUMED` for only consumed states.
        Vault.StateStatus.ALL,
        null);
Vault.Page<LinearState> results = getServiceHub().getVaultService().queryBy(LinearState.class, criteria);
List<StateAndRef<LinearState>> statesAndRefs = results.getStates();
QueryCriteria.LinearStateQueryCriteria标准=新的QueryCriteria.LinearStateQueryCriteria(
无效的
不可变列表(stateLinearId),
//仅对未使用状态更改为“未使用”,或仅对已使用状态更改为“已使用”。
Vault.StateStatus.ALL,
无效);
Vault.Page results=getServiceHub().getVaultService().queryBy(LinearState.class,条件);
List statesAndRefs=results.getStates();
然后可以检查这些状态以查看以前的所有者(除非所有者使用匿名公钥隐藏其身份)