给定 mystring = "O=PartyB,L=New York,C=US" , 有没有一种简单的方法可以将字符串转换为真正的 Party 对象?一直在看 CordaRPCOps.wellKnownPartyFromX500Name() 但无法让它工作......尝试过以下变体:
val rpcOps = new CordaRPCOps()
val otherParty: Party = rpcOps.wellKnownPartyFromX500Name(partyString) ?: throw Exception("Party not recognised.")
最佳答案
有几种方法可以做到这一点:
将字符串解析为 X500 名称
val x500Name = CordaX500Name.parse("O=PartyB,L=New York,C=US")
val party = rpcOps.wellKnownPartyFromX500Name(x500Name)
直接构造X500名称
val x500Name = CordaX500Name(organisation = "PartyB", locality = "New York", country = "US")
val party = rpcOps.wellKnownPartyFromX500Name(x500Name)
模糊匹配
val matchingParties = rpcOps.partiesFromName("PartyB", false)
if (matchingParties.size != 1) {
throw IllegalArgumentException()
}
val party2 = matchingParties.single()
获取 CordaRPCOps 实例
这是您首先如何获得 CordaRPCOps 实例的示例:
val rpcAddress = NetworkHostAndPort(host, rpcPort)
val rpcClient = CordaRPCClient(rpcAddress)
val rpcConnection = rpcClient.start(username, password)
val cordaRPCOps = rpcConnection.proxy
关于corda - 如何从字符串创建派对对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47501407/