如何在Corda中软锁定状态?

时间:2018-10-26 10:50:20

标签: corda

在Corda中,如何软锁定状态以防止其他流从Vault中选择它?如何释放软锁?它会在任何时候自动释放吗?

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法将状态软锁定在流中:

serviceHub.vaultService.softLockReserve(
    runId.uuid, 
    NonEmptySet.of(stateRef)
)

位置:

  • stateRef是您要软锁定的状态
  • runId是每个流程中定义的属性

通过这种方式锁定状态,软锁定的流程结束时(成功或错误),将自动释放软锁定。

您还可以使用以下方法释放软锁:

serviceHub.vaultService.softLockRelease(
    runId.uuid, 
    NonEmptySet.of(stateRef)
)

您没有义务使用流程的UUID软锁定状态。您可以提供自定义的UUID,以提供对释放软锁的时间的额外控制。