给定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.")
Run Code Online (Sandbox Code Playgroud)
有几种方法可以执行此操作:
将字符串解析为X500名称
val x500Name = CordaX500Name.parse("O=PartyB,L=New York,C=US")
val party = rpcOps.wellKnownPartyFromX500Name(x500Name)
Run Code Online (Sandbox Code Playgroud)
直接构造X500名称
val x500Name = CordaX500Name(organisation = "PartyB", locality = "New York", country = "US")
val party = rpcOps.wellKnownPartyFromX500Name(x500Name)
Run Code Online (Sandbox Code Playgroud)
模糊匹配
val matchingParties = rpcOps.partiesFromName("PartyB", false)
if (matchingParties.size != 1) {
throw IllegalArgumentException()
}
val party2 = matchingParties.single()
Run Code Online (Sandbox Code Playgroud)
获取CordaRPCOps实例
这是一个如何首先获得CordaRPCOps实例的示例:
val rpcAddress = NetworkHostAndPort(host, rpcPort)
val rpcClient = CordaRPCClient(rpcAddress)
val rpcConnection = rpcClient.start(username, password)
val cordaRPCOps = rpcConnection.proxy
Run Code Online (Sandbox Code Playgroud)