मैंने खाते को एक नोड से दूसरे नोड में साझा करने के लिए नीचे दिए गए प्रवाह का उपयोग किया

@InitiatingFlow
@StartableByService
@StartableByRPC
class ShareAccountInfotoOtherParty(val accountName: String,
                       val partyName: String) : FlowLogic<String>() {

    @Suspendable
    override fun call(): String {




        val TestAccount = subFlow(OurAccounts()).filter {  it.state.data.name == accountName  }.last()
        val newParty  = serviceHub.identityService.partiesFromName(partyName,exactMatch = true).last()

        val session1 = initiateFlow(newParty)
        val a = ShareAccountInfoFlow(TestAccount, listOf(session1))



        return "sharing Done   ${a}"
    }

    @InitiatedBy(ShareAccountInfotoOtherParty::class)
       class ShareAccountInfoHandlerFlow(val otherSession: FlowSession) : FlowLogic<AccountInfo>() {
        @Suspendable
        override fun call(): AccountInfo {
            val transaction = subFlow(ReceiveTransactionFlow(
                    otherSideSession = otherSession,
                    statesToRecord = StatesToRecord.ALL_VISIBLE
            ))
            return transaction.coreTransaction.outputsOfType(AccountInfo::class.java).single()
        }
    }
}

प्रवाह कोई त्रुटि नहीं फेंक रहा है लेकिन रिसीवर नोड (लेखा तालिका) की तालिका को कोई अपडेट नहीं मिल रहा है।

0
Jk_ 23 जिंदा 2020, 14:27

1 उत्तर

सबसे बढ़िया उत्तर
  • आप प्रवाह के inline संस्करण का उपयोग कर रहे हैं (यानी जोड़ी ShareAccountInfoFlow और ShareAccountInfoHandlerFlow)। इसके बजाय, initiating संस्करण (अर्थात ShareAccountInfo) का उपयोग करें, जिसके लिए प्रत्युत्तर प्रवाह की आवश्यकता नहीं होती है।
  • आप केवल inline संस्करण का उपयोग करते हैं यदि आपका प्रवाह एक जोड़ी (आरंभकर्ता और उत्तरदाता) है जहां आपको वास्तव में इसे प्राप्त करने से पहले उत्तरदाता (यानी खाता जानकारी प्राप्त करने वाला नोड) में कुछ कार्रवाई/सत्यापन की आवश्यकता होती है (यानी कॉल करने से पहले) पुस्तकालय का ShareAccountInfoHandlerFlow)।
  • ShareAccountInfo प्रवाह परीक्षणों में कुछ उदाहरण देखें: https://github.com/corda/accounts/blob/master/workflows/src/test/kotlin/com/r3/corda/lib/accounts /workflows/test/ShareAccountFlowTests.kt
1
Adel Rustum 23 जिंदा 2020, 14:04