如何将安全哈希传递给事务生成器

时间:2018-07-08 19:10:34

标签: corda

我将文件上传到Corda节点,并返回以下十六进制值作为字符串:

  

854AAE9BE6607CE0B15A70EEBEF19C553557103FB051413F2AA35E70F5B44313

现在,我需要将此作为secureHash参数传递给事务生成器: txBuilder.addAttachment(??)。

如何根据从文件上传中获得的十六进制字符串结果(作为向addAttachment的输入参数来构建安全哈希)?

SecureHash具有toString()函数,该函数返回哈希作为上面的十六进制字符串。我需要使用上面的十六进制字符串创建安全哈希。

谢谢。

尝试对代码进行以下更新: 在Hello World教程中向IOUFlow添加了attachId参数。添加附件为txBuilder.addAttachment(attachId)。参见下面的代码:

class IOUFlow(val iouValue: Int,
          val otherParty: Party, val attachId: SecureHash.SHA256) : 
 FlowLogic<Unit>() {

/** The progress tracker provides checkpoints indicating the progress of 
the flow to observers. */
override val progressTracker = ProgressTracker()

/** The flow logic is encapsulated within the call() method. */
@Suspendable
override fun call() {
    // We retrieve the notary identity from the network map.
    val notary = serviceHub.networkMapCache.notaryIdentities[0]
    val txBuilder = TransactionBuilder(notary = notary)
    txBuilder.addAttachment(attachId)
    ....
    }

将附件上传到服务器并获得以下哈希值:

C5C84DADD15B2359EBDF0DFC6CCCAA48A0DBA3A04EFD8F03EB117186CC0B2D08

使用以下shell命令开始流:

开始IOUFlow,值:99,otherParty:“ O = PartyB,L = New York,C = US”, attachId:C5C84DADD15B2359EBDF0DFC6CCCAA48A0DBA3A04EFD8F03EB117186CC0B2D08

Shell只是以'>'响应,什么也没有发生。必须使用CTRL-C来返回shell提示。

1 个答案:

答案 0 :(得分:1)

使用SecureHash.parse()将字符串转换为SecureHash