Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[venus] 结构重构 #5496

Closed
1 of 11 tasks
Tracked by #5979
hunjixin opened this issue Nov 21, 2022 · 2 comments
Closed
1 of 11 tasks
Tracked by #5979

[venus] 结构重构 #5496

hunjixin opened this issue Nov 21, 2022 · 2 comments
Labels
C-enhancement Category: feature enhancement P3 Low - not important right now V-venus venus component

Comments

@hunjixin
Copy link
Contributor

hunjixin commented Nov 21, 2022

链服务模块 / Chain Service Components

  • venus
  • venus-auth
  • venus-gateway
  • venus-messager
  • venus-miner
  • 文档 / docs

订单服务模块 / Deal Service Components

  • venus-market
  • 文档 / docs

算力服务模块 / Storage Power Service Components

  • venus-sector-manager
  • venus-worker
  • 文档 / docs

描述 / Description

目前venus pkg里面包之间的引用关系十分不合理,层级不清晰,重复封装,滥用interface。改动同步,存储,state方面代码容易产生循环引用。

重构chain/chainsync/consensus/consensusfault/state/statemanager/vm/vmsupport/fvm几个包的代码

  1. store包仅包括区块/消息/state数据的存取
  2. chain中凡事用到tree相关功能的结构全部移动到这里 主要包括actor相关, state相关
  3. vm/vmsupport/fvm合并到一个大包下面,最好把老代码都封存起来,以后改vm相关功能是尽量少的改动老代码。
  4. consensus/consensusfault/statemanager合并成一个共识校验的包
  5. chainsync重写,进行chain-sync,希望头合并速度,和磁盘增长速度达到lotus的水平
  6. submodule部分可能需要按新的结构重新组建,尽量缩减submodule中的业务代码,仅作为接口层。
@hunjixin hunjixin added P3 Low - not important right now C-enhancement Category: feature enhancement V-venus venus component labels Nov 21, 2022
@Fatman13
Copy link
Contributor

这个命名好像有点宽?😂

@Fatman13
Copy link
Contributor

架构性重构,感觉近期应该不会做了。。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: feature enhancement P3 Low - not important right now V-venus venus component
Projects
Status: Done
Development

No branches or pull requests

2 participants