[英]How to send a state to multiple accounts in corda?
1.) 我正在使用帳戶庫在 Corda 中創建一個項目,我需要在單個事務中將狀態發送到不同節點上的兩個帳戶。 這在 Corda 中是可能的,如果是,那么如何? 流程代碼示例將非常有幫助。
2.) 如何為 Corda 流程中的參與者列表創建流程會話或如何為多個參與者啟動流程?
3.) 如何在流程中收集多方的簽名?
1 - 是的,你可以。 如此處所述,您可以使用:
sendAll(payload: Any, sessions: Set<FlowSession>)
:它將有效負載對象發送到所有提供的 FlowSession。 它將與receiveAll(receiveType: Class<R>, sessions: List<FlowSession>): List<UntrustworthyData<R>>
sendAllMap(payloadsPerSession: Map<FlowSession, Any>)
:它向每個 FlowSession 發送一個可能不同的有效負載,由提供的 payloadsPerSession 指定。 它將與receiveAllMap(sessions: Map<FlowSession, Class<out Any>>): Map<FlowSession, UntrustworthyData<Any>>
2 - 必須為每一方創建流:
FlowSession session1 = initiateFlow(counterparty1);
FlowSession session2 = initiateFlow(counterparty2);
但是你可以將所有這些都傳遞給同一個
sendAll(payload, listOf(session1, session2))
3 - 您必須使用CollectSignaturesFlow(initiallySignedTx, listOf(sessions))
,它在輸入中接收會話列表。 你可以看看它的實現在這里和它進行單元測試這里,或使用的例子在這里。
ShareStateWithAccountFlow
的流; 達到您的要求。accountQueryCriteria
一起使用(請參閱此處)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.