注意,链的重置和删除操作只适用于开发环境,对于生产环境的链,不应该有这两种操作,因为会导致用户数据丢失!

链的重置

和开发传统应用类似,有时候你需要 1 个干净的数据库去复现某个 Bug,或者重新模拟生成一些数据填充进去,这时候通常的做法是把应用运行时所用的数据库清空下,Forge CLI 也支持类似的操作,因为开发应用时因为某些 Bug 导致链上状态不对的情况是很有可能发生的,链的重置只是会删掉链的状态,而会保留链的配置,这样你可以快速的再启动一条相同配置的链。

执行 forge chain:reset test-chain 即可以重置链的状态,当然 Forge CLI 要求只能重置停掉的链,如果链运行中需要先停掉再重置,整个过程如下:

test-chain 被重置完之后,可以看到执行 forge chain:ls 还是会把 test-chain 列出来,这样如果继续 forge start test-chain,就会启动一个空白的 test-chain

链的删除

如果某个链完全不要,包括链的数据、日志、配置等,可以执行删除操作来释放掉其所占用的磁盘。

执行 forge chain:remove test-chain 即可彻底删除 test-chain,当然 Forge CLI 要求只能删除停掉的链,如果链运行中需要先停掉再删除,整个过程如下:

test-chain 被删除之后,可以看到执行 forge chain:ls 已经不会在列在里面了。