跳到主要内容

如何设置本地开发网络

dev 网络是 Starcoin 提供的用于本地开发的网络,能够让 Starcoin 开发者快速、方便地验证智能合约。

运行本地 dev 网络

下面的命令可以启动新的 dev 节点:

starcoin -n dev

或者通过 Docker 启动新节点:

docker run --name starcoin -d --network host -v ~/.starcoin/:/root/.starcoin/ starcoin/starcoin:latest /starcoin/starcoin -n dev

组建集群

在启动了一个节点后,你可以在日志或标准输出中找到节点的地址,它可能如下所示:

Self address is: /ip4/127.0.0.1/tcp/59476/p2p/12D3KooWPePRG6BDdjgtEYmPDxNyJfMWpQ1Rwgefuz9eqksLfxJb

然后,你可以通过以下命令启动另一个新节点:

starcoin -n dev --seed /ip4/127.0.0.1/tcp/59476/p2p/12D3KooWPePRG6BDdjgtEYmPDxNyJfMWpQ1Rwgefuz9eqksLfxJb

--seed 选项指定种子节点来组建网络。

重复这些步骤,你可以获得多节点本地开发网络。

在 dev 网络获取 STC

在命令行输出的前几行可以找到如下信息:

2022-05-18T02:06:31.882468352+00:00 INFO - Ipc file path: "/tmp/.tmpORwKTS/dev/starcoin.ipc"

这条信息指明了当前 dev 节点的 IPC 文件的存储位置。

# 打开一个新的终端,切换到节点的数据目录
cd /tmp/.tmpORwKTS/dev/

# 获取 STC
starcoin -c starcoin.ipc dev get-coin -v 100STC

工作方式

dev 网络的出块模式跟主网和测试网不一样,dev 网络是按需出块,没有交易就不出块。 dev 网络上的时间不自动流逝,需要通过出块的方式让时间变化。如果想快速跳过时间,进行测试,可以用 sleep 命令。

技巧

如果操作与账户相关的命令,建议连接到 Starcoin 控制台来简化操作:

cd /tmp/.tmpORwKTS/dev/
starcoin -c starcoin.ipc console

在控制台获取 dev 网络的 STC

starcoin% dev get-coin -v 100STC

相比直接在命令行获取 STC 的方式,在 Starcoin 控制台操作更方便。