我将文件上传到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提示。
答案 0 :(得分:1)
使用SecureHash.parse()
将字符串转换为SecureHash
。