配置好链节点之后,我们可以用 Forge CLI 随时启动和停止创建过的链。
链节点的启动
启动链的命令是 forge start <chainName>
,比如可以执行 forge start test-chain
来启动 test-chain
,执行过程如下:
forge start
会依次启动 Forge 工具箱里面的 Forge 内核、共识引擎、Forge Web 这几个组件,如果你在配置文件里面禁用了 Forge Web 就不会启动,单次启动通常 15 秒左右就能完成,超过 40 秒会被认定为启动失败。
启动完成之后,Forge CLI 会把运行中的链的进程列表打印出来,如下:
Chain: test-chain v0.38.4
┌───────────────┬──────────┬──────────┬──────────┬──────────┬──────────────────────────────┐
│ Name │ PID │ Uptime │ Memory │ CPU │ Endpoint │
├───────────────┼──────────┼──────────┼──────────┼──────────┼──────────────────────────────┤
│ web │ 55527 │ 3s │ 139 MB │ 102.00 % │ http://127.0.0.1:8211/api │
├───────────────┼──────────┼──────────┼──────────┼──────────┼──────────────────────────────┤
│ forge │ 55398 │ 12s │ 184 MB │ 61.33 % │ tcp://127.0.0.1:38211 │
├───────────────┼──────────┼──────────┼──────────┼──────────┼──────────────────────────────┤
│ tendermint │ 55424 │ 10s │ 26.2 MB │ 2.00 % │ - │
└───────────────┴──────────┴──────────┴──────────┴──────────┴──────────────────────────────┘
这里面有几个重要的信息:
test-chain
所使用的 Forge 版本 是v0.38.4
test-chain
的 GraphQL 接口地址是https://127.0.0.1:8211/api
test-chain
的 gRPC 接口地址是tcp://127.0.0.1:38211
后两个接口地址在使用 Forge SDK 的时候非常关键。
链节点的停止
有几种情形,我们需要把运行中的链停掉(这里的停指的是暂停运行,而不是把配置或者数据删掉):
- 需要释放运行中的节点所占用的磁盘或 CPU 资源:Forge 本身还是比较节省资源的,机器内存只要大于 512M,Forge 就大概率能启动
- 需要把对应的链和节点配置、数据给删掉
- 重新修改了节点的配置,需要重启来生效
停止链的命令和启动很类似 forge stop <chainName>
,比如可以执行 forge stop test-chain
来停止 test-chain
,执行过程如下:
当然,如果你本地启动了多条链,有需要同时把他们都停掉,可以直接执行 forge stop -a
,然后等几秒钟,所有的链就全部停掉了。
为了简化 forge start
和 forge stop
后面直接跟链节点名称来指定要操作哪条链,而不用附加 -c
参数标志。