Corda 帐户:从 Public 密钥 Returns "Null" 获取帐户信息

Corda Account: Getting Account Info From Public Key Returns "Null"

我正在尝试使用以下方法从存储在匿名方中的 public 密钥中获取帐户信息对象:

accountService.accountInfo(programCurrency.getPartner().getOwningKey()).getState().getData();

但每次我都为空。当我记录它时,我检查了来自保险库查询的匿名方对象不为空,我得到以下信息:

匿名(DL5Z9Sv3285QANUNK5Vm6crWtFK2tE4QXUFoEoYuWH7ahm)

我还是不明白为什么返回null。

P.S.: 我试图获取信息的帐户托管在另一个节点上,但在创建时我正在使用 ShareAccountInfo() 子流与其他节点共享帐户信息。

您的节点(使用该 public 键进行查询的节点)可能不知道该帐户被分配了一个新的 public 键;所以尽管它有那个帐户(因为它是与它共享的);它没有与帐户获得的新 public 密钥保持同步。

阅读here关于同步密钥的内容;检查使用 SyncKeyMappingFlow 同步密钥的流程 SyncKeyMappingInitiator

您还可以阅读有关同步密钥的信息 here(搜索 SyncKeyMappingFlow)。