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

Create a rough division of components into systems and subsystems #5007

Closed
Tracked by #5158 ...
KatarinaKeti opened this issue Jun 29, 2022 · 2 comments
Closed
Tracked by #5158 ...
Assignees
Labels
CU-System-Test-Matrix Category: STM related issues

Comments

@KatarinaKeti
Copy link

No description provided.

@Fatman13
Copy link
Contributor

Fatman13 commented Jul 1, 2022

Hello,team,@hunxijin has come up with a rough idea on how venus can be divided into different systems as following... (folders @hunjixin thinks might be suitable for system is marked in between ** text like **xxxxx system**)

.
├── app
│   ├── node        // 节点初始化的一些东西;Node initialization related code
│   │   └── test
│   ├── paths
│   └── submodule
│       ├── blockstore      //配置大模快的包;configuration for different modules 
│       ├── chain           //配置大模快的包;configuration for different modules
│       ├── config
│       ├── dagservice
│       ├── discovery
│       ├── market
│       ├── mining
│       ├── mpool
│       ├── multisig
│       │   └── v0api
│       ├── network
│       │   └── v0api
│       ├── paych
│       │   └── v0api
│       ├── storagenetworking
│       ├── syncer
│       └── wallet
│           └── remotewallet
├── bin
├── build-dep
├── cmd
│   └── tablewriter
├── docker
│   └── script
├── documentation
│   ├── en
│   ├── images
│   ├── misc
│   └── zh
├── fixtures
│   ├── networks  //网络配置相关; network configuration related code
│   └── test
├── pkg
│   ├── beacon          //beacon随机数; beacon rand
│   ├── chain           
│   ├── chainsync       //同步部分 可独立一个系统; **chainsync system**: syncing related code 
│   │   ├── dispatcher
│   │   ├── exchange
│   │   ├── slashfilter
│   │   ├── syncer
│   │   └── types
│   ├── clock           //时间计算相关  可独立一个系统; **clock system**: time related calculations
│   ├── config          //这个包可以不做,以后可能会优化掉; not needed, might depreciate in the future
│   ├── consensus       //这个包可以作为consensus系统部分; **consensus system**
│   ├── consensusfault  //这个包可以作为consensus系统部分; Also **consensus system**
│   ├── constants       //定义一些const2量, 不作为系统; constants, probably not needed as a system
│   ├── crypto          //签名验证包,可作为一个系统; **crypto system**: used for signature verifications 
│   │   ├── bls
│   │   └── secp
│   ├── discovery       //可作为net系统的一个子系统; could be a subsystem of **network system**
│   ├── events          //可作为一个系统; **events system**
│   │   └── state
│   │       └── mock
│   ├── fork            //可作为一个系统 **fork system**
│   ├── fvm             //可作为一个系统 **fvm system**
│   ├── gen             //这个以后可能会优化掉,可以先不做; not needed, might depreciate soon;
│   │   └── genesis
│   ├── genesis         //这个以后可能会优化掉,可以先不做; not needed, might depreciate soon;
│   ├── journal         //可作为一个系统; **journal system**
│   ├── jwtauth         //可不做,未来会改这一块; not needed, might make changes in the future;
│   ├── market          //未来会发生改变,会重写这一块代码, 咱是命名为fundmgr模块; might refactor in the future;
│   ├── messagepool     //可作为一个系统; **messagepool system**
│   │   ├── gasguess
│   │   └── journal     //不做,未来会删除; not needed, might depreciate soon;
│   ├── metrics         //不做,未来会重写; not needed, might refactor in the future;
│   │   └── tracing
│   ├── migration       //独立系统; **migration system**
│   ├── net             //network系统 **network system**
│   │   ├── blocksub    //子系统 **network blocksub subsystem**
│   │   ├── msgsub      //子系统 **network msgsub subsystem**
│   │   └── pubsub      //子系统 **network pubsub subsystem**
│   ├── paychmgr        //paychmgr系统 **paychmgr system**
│   │   └── settler 
│   ├── repo            //repo系统; **repo system**
│   │   └── fskeystore
│   ├── state           //state系统; **state system**
│   │   └── tree
│   ├── statemanger     //不做,考虑删除; not needed, might remove soon;
│   ├── testhelpers     //helper 不做; not needed, mostly helper functions;
│   │   └── testflags
│   ├── util            //工具部分
│   │   ├── blockstoreutil
│   │   ├── convert
│   │   ├── dag
│   │   │   └── oldpath
│   │   │       └── oldresolver
│   │   ├── ffiwrapper
│   │   │   ├── basicfs
│   │   │   └── impl
│   │   ├── fr32
│   │   ├── fsm
│   │   ├── fsutil
│   │   ├── hasher
│   │   ├── moresync
│   │   ├── paralle
│   │   ├── storiface
│   │   ├── test
│   │   └── ulimit
│   ├── vm              //vm系统 **vm system**
│   │   ├── dispatch
│   │   ├── gas
│   │   ├── register
│   │   ├── runtime
│   │   └── vmcontext
│   ├── vmsupport       //vm系统 **vm system**
│   └── wallet          //钱包系统 **wallet system**
├── scripts
│   └── build
├── tools               //tools下面不要; nothing significant under tools folder;
│   ├── conformance
│   │   └── chaos
│   │       └── gen
│   ├── gen_cbor
│   ├── genesis-file-server
│   ├── gengen
│   │   ├── gencfg
│   │   └── util
│   ├── prerelease-tool
│   └── seed
├── venus-component
│   └── libp2p
│       └── exchange
│           └── client
├── venus-devtool
│   ├── api-gen
│   ├── bundle-gen
│   ├── cborgen
│   ├── compatible
│   │   ├── actors
│   │   └── apis
│   ├── inline-gen
│   └── util
└── venus-shared
    ├── actors
    │   ├── adt
    │   ├── aerrors
    │   ├── builtin
    │   │   ├── account
    │   │   ├── cron
    │   │   ├── init
    │   │   ├── market
    │   │   ├── miner
    │   │   ├── multisig
    │   │   ├── paych
    │   │   │   └── mock
    │   │   ├── power
    │   │   ├── reward
    │   │   ├── system
    │   │   └── verifreg
    │   └── policy
    ├── api
    │   ├── chain
    │   │   ├── v0
    │   │   │   └── mock
    │   │   └── v1
    │   │       └── mock
    │   ├── gateway
    │   │   ├── v0
    │   │   │   └── mock
    │   │   └── v1
    │   │       └── mock
    │   ├── market
    │   │   ├── client
    │   │   │   └── mock
    │   │   └── mock
    │   ├── messager
    │   │   └── mock
    │   ├── permission
    │   └── wallet
    │       └── mock
    ├── bazaar
    ├── builtin-actors
    │   └── actors
    ├── compatible-checks
    ├── internal
    ├── libp2p
    │   ├── exchange
    │   └── hello
    ├── localstore
    ├── logging
    ├── testutil
    ├── types     //types系统 下面每个放自己的子系统; **types system**
    │   ├── gateway // **types gateways subsystem**
    │   ├── market // **types market subsystem**
    │   │   └── client // **types client subsystem**
    │   ├── messager **types messager subsystem**
    │   ├── params // **types param subsystem**
    │   └── wallet // **types wallet subsystem**
    ├── typeutil
    └── utils

Hope it helps and let us know if you have any questions! Thank you!

@Fatman13 Fatman13 moved this to In Progress in Venus Project Jul 4, 2022
@Fatman13 Fatman13 closed this as completed Jul 7, 2022
Repository owner moved this from In Progress to Done in Venus Project Jul 7, 2022
@Fatman13
Copy link
Contributor

Fatman13 commented Jul 7, 2022

feel free to reopen if above is not enough.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CU-System-Test-Matrix Category: STM related issues
Projects
Archived in project
Development

No branches or pull requests

2 participants