Skip to content
maggie edited this page Sep 15, 2020 · 2 revisions

FISCO BCOS Java SDK设计

模块说明

Java SDK是基于接口的架构,增加了模块性,便于灵活组装再造。模块结构如图所示:

Module

由下至上这些模块为:

  • 实体类和通用工具:主要定义一些数据结构(Model),字符串等基础工具(Utils),网络,密码工具,ABI编解码、RLP等。

    • Config:负责Toml配置文件的读取。
    • RLP、ABI、Utils:负责RLP、JSON、ABI的编解码,并提供一些基础工具。
    • Model:包含一些通用的数据结构。
    • Network:网络模块负责连接管理。
    • Crypto:加密模块,为交易的的签名,AMOP认证流程中的签名验签提供基础工具。
  • 控制类:包含事件的逻辑或规则以指导和管理对象之间的交互。这里,我们的Transaction和Client模块同样是对外开放的,主要提供交易发送和账本操作功能。

    • Transaction:交易模块,包括交易构建、交易签名、交易发送等功能。
    • Client:负责与节点的RPC接口通信,进行账本查询、发送交易等操作。
    • Group Manager: 负责群组管理、接受区块通知。
    • Channel:负责节点间的握手、版本协商、心跳等功能。
  • 边界类:边界类是人和系统交互的接口。SDK没有真正意义上的边界类,这里我们代表的是高度封装的供外部调用的类。

    • Contract:合约模块服务于Java合约、预编译合约、Java合约生成。
    • AMOP:AMOP模块包括AMOP话题订阅、消息发送等功能。
    • EventSubscribe:合约事件订阅。

模块介绍

  1. Java SDK所使用的第三方库
  2. Config模块
  3. RLP、Utils模块
  4. ABI模块
  5. Model模块
  6. Network模块
  7. Crypto模块
  8. Transaction模块
  9. Client模块
  10. Group Manager模块
  11. Channel模块
  12. Contract模块
  13. AMOP模块
  14. EventSubscribe模块
Clone this wiki locally