如何为每个节点加载不同的 UI

How to load different UI for each node

我指的是默认 UI 的 Cordapp 示例项目。我想为不同的用户显示不同的 UI。例如,一个动作与节点A有关,但与节点B无关。我该如何控制它?

CorDapp 的逻辑边界几乎就是 RPC 层。

当前版本的 Corda 捆绑了一个网络服务器,它允许您创建一个 RESTful API 来与 RPC 层通信。因此,您可以完全控制和灵活地与 RPC 层进行交互。

因此,您应该考虑将 API 拆分为节点 A 的操作和节点 B 的操作,然后相应地拆分您的前端。

然后您可以设置两个不同的路由,每个路由加载不同的接口。

看看这个project and it's corresponding front-end project。 为四种不同的角色定义了接口。

我在我的 Cordapp 中使用的一个选项是首先进行 API 调用以获取节点身份。根据节点的身份,您可以 运行 不同的 JavaScript 功能并呈现不同的 html 页面/功能。虽然此方法确实涉及一些节点名称的硬编码,但它非常适合简单的概念验证和演示。

查看 this 示例 - 查看 displayNodeName() 函数。