Corda 核心概念 – Node

概要

  • 一个节点是指运行着 Corda 软件的具有唯一标识的一个 JVM 运行时
  • 节点对于外部世界包含两个接口:
    • 网络层,用来同其他的节点通信
    • RPC,为了跟节点的所有者通信
  • 节点的功能是通过在 plugin registry 里安装 CorDapps 方式来扩展的

节点架构 Node Architecture

Corda 中的节点指的是在网络中具有唯一标识的运行着 Corda 服务和应用的 JVM 运行时环境。

下边是节点的内部架构图:

架构中的核心元素包括:

  • 存储数据的持久化层
  • 同其他节点沟通的网络接口
  • 同节点的所有者进行沟通的 RPC 接口
  • 允许节点的 flows 来调用节点其他服务的 service hub
  • plugin registry 用来通过安装 CorDapps 来扩展节点

持久层 Persistence layer

持久层包含两部分:

  • 账本 Vault,节点用来存储过去和当前 states 数据
  • 存储服务 storage service,用来存储 transaction, attachment 和 flow checkpoints

节点的所有者可以通过使用 RPC 接口来查询节点的 storage。

网络接口 Network interface

同网络中的其他节点进行沟通是节点自己来处理的,作为运行一个 flow 的一部分。节点的所有者不会直接地同网络中其他的节点进行交互。

RPC 接口

节点的所有者是通过使用 Remote Procedure Calls(RPC) 来跟节点进行交互的。

Service Hub

内部的,节点可以在 flow 的执行过程中访问丰富的服务来协助更新账本。主要的服务包括:

  • 网络中的其他节点以及提供什么服务的信息
  • 访问 vault 和 storage service 的内容
  • 访问和生成节点的公钥私钥对
  • 节点本身的信息
  • 当前的时间

Plugin registry

Plugin registry 是新的 CorDapps 被安装的地方,来扩展节点的行为。

节点默认会安装一些 plugins 来处理一些常见的任务,比如:

  • 从合作方那边获得交易和附件信息
  • 更新合约
  • 向交易其他放广播同意的账本更新信息,这样其他节点也会更新为相同的账本信息

发表评论

电子邮件地址不会被公开。 必填项已用*标注