corda - 如何从字符串创建派对对象?

标签 corda

给定 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/

相关文章:

Corda - 如何检查对方节点是否正在运行?

verification - 现金契约(Contract)验证

gradle - Corda:将本地JavaScript库导入节点

gradle - 无法编译cordapp示例

corda - 我们可以使用 SGX 的 enclave 在 Corda 中执行流程吗?

corda - Corda 的跨平台 RPC 集成?

elasticsearch - CORDA区 block 链与Elasticsearch或ActiveMQ的集成

spring - 使用 Corda 运行 Spring 服务器时出现 Quasar 错误

gradle - java.lang.IllegalArgumentException带Kotlin的Corda转换存储库

java - 如何解决 bootcamp-cordapp 中的 NotSerializedException。测试合约时