-
Notifications
You must be signed in to change notification settings - Fork 59
Home
maggie edited this page Sep 15, 2020
·
2 revisions
Java SDK是基于接口的架构,增加了模块性,便于灵活组装再造。模块结构如图所示:
由下至上这些模块为:
-
实体类和通用工具:主要定义一些数据结构(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:合约事件订阅。