配置好链节点之后,我们可以用 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 startforge stop 后面直接跟链节点名称来指定要操作哪条链,而不用附加 -c 参数标志。