[stacks 区块链开发文档] 使用 Docker 配置并运行 stacks 区块链本地 testnet 测试网络节点

2021-08-13 18:48:56 +08:00
 gitandgit

https://docs.stacks.co/understand-stacks/running-testnet-node

英语原文链接

介绍

此过程演示了如何使用 Docker 镜像来运行 stacks 区块链本地测试网节点。

此过程侧重于类 Unix 操作系统( Linux 和 MacOS )。此过程尚未在 Windows 上进行测试。

前期准备:

运行节点没有专门的硬件要求。用户已经成功地在 Raspberry Pi 和其他系统架构上运行节点。为了完成此过程,您必须在节点主机上安装以下软件:

防火墙配置:

为了使 API 节点服务正常工作,您必须配置任何网络防火墙规则以允许本节中讨论的端口上的流量。网络和防火墙配置的详细信息与您的机器和网络相关,因此不提供详细示例。以下端口必须在主机上打开:

入口:

出口:

这些出口端口用于同步 stacks 区块链和比特币头部信息。如果它们未打开,则同步将失败。

第一步:初始化配置

为了运行 testnet 节点,您必须下载 Docker 镜像并创建一个目录结构来保存来自网络的持久数据。你可以使用以下命令下载并配置 Docker 镜像:

docker pull blockstack/stacks-blockchain

使用以下命令为服务数据创建目录结构:

mkdir -p ./stacks-node/persistent-data/stacks-blockchain/testnet && cd stacks-node

第二步:运行 stacks 区块链

使用以下命令启动 stacks-区块链 容器:

docker run -d --rm \
  --name stacks-blockchain \
  -v $(pwd)/persistent-data/stacks-blockchain/testnet:/root/stacks-node/data \
  -p 20443:20443 \
  -p 20444:20444 \
  blockstack/stacks-blockchain \
/bin/stacks-node xenon

您可以使用以下命令验证正在运行的 stacks 区块链容器:

docker ps --filter name=stacks-blockchain

第三步;验证服务

最初的 burnchain 头同步可能需要几分钟,直到同步完成,以下命令才会起作用。

验证 stacks 区块链 burnchain 头同步进度:

docker logs stacks-blockchain

终端输出应该类似于以下内容:

INFO [1626290705.886954] [src/burnchains/bitcoin/spv.rs:926] [main] Syncing Bitcoin headers: 1.2% (8000 out of 2034380)
INFO [1626290748.103291] [src/burnchains/bitcoin/spv.rs:926] [main] Syncing Bitcoin headers: 1.4% (10000 out of 2034380)
INFO [1626290776.956535] [src/burnchains/bitcoin/spv.rs:926] [main] Syncing Bitcoin headers: 1.7% (12000 out of 2034380)

要验证 stacks-blockchain 尖端高度是否在进行中,请使用以下命令:

curl -sL localhost:20443/v2/info | jq

如果实例正在运行,您的终端会输出类似于以下内容的信息:

{
  "peer_version": 4207599105,
  "pox_consensus": "12f7fa85e5099755a00b7eaecded1aa27af61748",
  "burn_block_height": 2034380,
  "stable_pox_consensus": "5cc4e0403ff6a1a4bd17dae9600c7c13d0b10bdf",
  "stable_burn_block_height": 2034373,
  "server_version": "stacks-node 2.0.11.2.0-rc1 (develop:7b6d3ee+, release build, linux [x86_64])",
  "network_id": 2147483648,
  "parent_network_id": 118034699,
  "stacks_tip_height": 509,
  "stacks_tip": "e0ee952e9891709d196080ca638ad07e6146d4c362e6afe4bb46f42d5fe584e8",
  "stacks_tip_consensus_hash": "12f7fa85e5099755a00b7eaecded1aa27af61748",
  "genesis_chainstate_hash": "74237aa39aa50a83de11a4f53e9d3bb7d43461d1de9873f402e5453ae60bc59b",
  "unanchored_tip": "32bc86590f11504f17904ee7f5cb05bcf71a68a35f0bb3bc2d31aca726090842",
  "unanchored_seq": 0,
  "exit_at_block_height": null
}

如何停止测试网节点

使用以下命令停止本地 testnet 节点:

docker stop stacks-blockchain
563 次点击
所在节点    区块链
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/795654

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX