Commit 1a8e0872 authored by xueqianLu's avatar xueqianLu

add module.md

parent a980e47a
## 模块汇总
* P2P 模块: 用于标识节点角色以及在网络中收发消息
* 交易验证模块: 用于MetaRing验证交易是否合法, 交易模拟执行?
* 共识Client: 与共识网络进行交互.
* MetaNebula 模块: 出块模块,核心模块.
## P2P 模块
#### 功能:
1. peer 发现和连接(libp2p)
a. 提供基础peer连接和验证交互协议
2. 提供消息广播和订阅的接口
#### 模块交互:
1. 为 MetaRing 及 MetaNebula 模块提供接口
#### 接口:
a. 广播交易
b. 订阅消息类型
c. 请求交易
d. 其他需要增加的消息类型
## 交易验证模块
#### 功能:
1. 批量验签
2. 验证账户nonce连续性
3. 验证账户余额
#### 模块交互:
1. 为MetaNebula 模块提供批量验签接口
2. 为 MetaRing 模块提供验证交易接口
3. 调用 MetaNebula 模块查询 Nonce 和 余额
#### 接口:
1. 批量验签接口(仅验签)
2. 交易验证接口(验签、nonce、余额校验)
## 共识Client
#### 功能:
1. 订阅共识网络的新区块
2. 读写共识网络的共识合约
#### 模块交互:
1. 为MetaNebula模块提供接口订阅区块
2. 为MetaNebula提供接口读写共识合约
#### 接口:
1. 订阅区块
2. 读写共识合约,(具体依赖合约提供的接口)
## MetaNebula模块
#### 功能:
1. 同步主网共识层生成的区块
2. 通过P2P订阅 MetaRing 广播的交易
3. 按顺序组装交易打包区块执行
4. 提供eth rpc 接口
5. 数据存储
6. 上报区块执行果
#### 子模块:
1. 交易池
2. GlobalClock(出块时钟)
3. Miner/Worker
4. 结果上报和区块回退
5. 区块数据查询grpc (略。。。)
6. 交易执行虚拟机(EVM/WASM...)
7. Database
8. 并行交易分组模块(后期)
9.
#### 模块交互:
1. 调用交易验证模块验证交易
2. 调用P2P模块订阅和请求交易
3. 调用 共识Client 模块订阅区块,读写共识合约
#### 提供的接口:
1. 常规 区块数据查询,账户,区块,交易等等
2. 以太坊RPC的gRPC
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment