⬇️以下是 cmd/geth 包中其他代码的介绍:
├── accountcmd.go
├── chaincmd.go
├── config.go
├── consolecmd.go
├── dbcmd.go
├── misccmd.go
├── snapshot.go
├── usage.go 🔫
└── version_check.go 🔫
《深入学习 Go-Ethereum : 013. CMD 模块 - Geth - snapshot.go》中罗列了 snapshot
子命令集主要源码,接下来描述下关于 usage.go&version_check.go
中的代码功能。
usage 主要定义了众多flag相关信息,并对帮助信息进行打印。其中使用helper.go中相关方法和结构体完成主要功能。
👇定义了命令的名称和使用说明
主要功能是进行 geth 对应版本的漏洞检查,使用命令 geth version_check
(命令定义在 misccmd.go ),如果不传入参数,默认请求的校验地址是version_check_url。
👇JSON数据如图,包含了name、uid、CVE编号等等信息。
👇核心代码结构
使用效果如图:
截止到此, geth 中相关的主要代码已经了解大概,后续穿插了解记录关于 cmd
模块中其他命令的主要代码。后续规划了解 geth
的业务核心代码 (列表如下👇):
❇️ : 穿插在其他模块了解、分析代码。
🔖 :主入口,顺序为 rlp
→ trie
→ accounts
→ consensus
→ miner
→ p2p
→ rpc