转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

版本 1 下一步 »

调试方法

用 vscode 启动需要调试的 starcoin 进程,假设这个进程为 A,进程链接 dev 网络,启动另一个不需要调试的进程 starcoin B。

假设 A 是有区块的进程,B 需要同步 A 的区块(需要调试 B 则只要 vscode 启动 B 进程即可,也可以用 attach 的方法 同时调试 A 和 B)

vs code 调试设置见:/wiki/spaces/jack/pages/157286401

连接两个 p2p 节点

B 进程需要先和 A 联系上,在 A 节点中使用命令:

 node info

此时输出 A 的节点信息,其中 self_address 就是 A 节点的地址,例如:

 "self_address": "/ip4/127.0.0.1/tcp/9840/p2p/12D3KooWSkzuSMR5RRXyQVYK1amvXqQPMdZ2wXfKUr8jajgWYrmL"

复制地址 /ip4/127.0.0.1/tcp/9840/p2p/12D3KooWSkzuSMR5RRXyQVYK1amvXqQPMdZ2wXfKUr8jajgWYrmL ,切到 B,执行命令:

 node network add_peer /ip4/127.0.0.1/tcp/9840/p2p/12D3KooWSkzuSMR5RRXyQVYK1amvXqQPMdZ2wXfKUr8jajgWYrmL

若成功会返回 OK。

执行:

 node network state

也能发现 A 节点在 connectedPeers 这个列表中。

生成区块并同步

我们在 A 中生成一个区块即可触发 B 同步来同步 A 的区块。使用:

 dev gen-block 

即可,若提示账户不存在或者未解锁则使用 dev get-coin 命令去给 A 节点的账户发 token 或者 account unlock 一下即可。

如果我们事先设置好断点会在 A 的同步代码中暂停,此时就可以一探区块同步究竟了。

  • 无标签