英文教程原链接: https://docs.stacks.co/understand-stacks/running-regtest-node
了解如何部署并运行 regtest 节点
请注意:Stacks 2.0 regtest 网络类似于 testnet 测试网络,但是 BTC 和 STX 区块的生成速度要快得多,每 2 分钟生成 1 个区块。使其成为快速开发的理想选择。
警告:在将 stacks 节点与 regtest 网络同步时,github 上有一个未解决的issue可以解决性能下降问题。在此 issue 关闭之前,同步 regtest 网络上的节点可能比同步测试网或主网节点需要更长的时间。如果只使用 regtest API,这个 issue 应该不会影响到你。
本教程将引导您完成以下步骤:
下载并安装节点软件
运行 regtest 节点
要求
为了运行一个节点,需要考虑一些软件和硬件要求。
硬件
运行节点没有专门的硬件要求。例如,人们已经成功地在树莓派上运行节点。最低硬件要求可以随着项目的性质而改变,节点部署应该考虑一些因素:
在本地编译节点源需要计算和存储资源
随着链的增长,硬盘空间的需求将随着时间的推移而增长
考虑到这些因素,我们建议使用基于通用规范的硬件,类似于 GCP E2 机器标准 2 或 AWS EC2 t3.large 标准:
2 个 vCPU
8 GB 内存
50GB 磁盘(最好是 SSD )
还建议使用可以公开路由的 IP 运行节点,这样网络中的其他节点将能够连接到它。
软件
如果使用 Linux,可能需要手动安装 libssl-dev 等软件包。在命令行中,运行以下命令以获取所有包:
sudo apt-get install build-essential cmake libssl-dev pkg-config
确保你已经安装了 Rust 。如果您使用的是 macOS 、Linux 或其他类 Unix 操作系统,请运行以下命令。如果您使用不同的操作系统,请按照官方 Rust 安装指南进行操作。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
如果您刚刚安装了 Rust,系统会提示您运行以下命令以使 cargo 命令可用:
source $HOME/.cargo/env
从预先构建的二进制文件安装节点
第 1 步:获取可分发的文件
从最新版本下载并解压缩与您的环境对应的可分发文件。如果您在 Windows 上运行,请按照我们在 Windows 上安装节点的说明进行操作。
如果您在 Windows 系统上运行,请按照我们在 Windows 上安装节点的教程进行操作。
第 2 步:运行二进制文件
要运行 stacks-node 二进制文件,请执行以下操作:
./stacks-node krypton
现在。您的节点现在应该可以连接到 regtest 网络。您的节点将在生成新区块时接收新区块,您可以使用Stacks 节点 RPC API 发送交易、获取合约和帐户信息等。
从源代码安装节点
如果主分支中有一些尚未发布的更新,或者如果您的环境没有预构建的二进制文件,您可能希望从源代码构建和安装。
第一步:安装节点
克隆这个库:
git clone https://github.com/blockstack/stacks-blockchain.git; cd stacks-blockchain
更改以下值以反映正在构建的版本、分支和源代码的 git 提交,以确保准确性:
# The following values are just an example
export STACKS_NODE_VERSION=2.0.9
export GIT_BRANCH=master
export GIT_COMMIT=e7f178b
运行以下命令安装 Stacks 节点:
cargo build --workspace --release --bin stacks-node
# binary will be in target/release/stacks-node
要使用额外的调试符号来安装 Stacks 节点,请运行:
cargo build --workspace --bin stacks-node
# binary will be in target/debug/stacks-node
此过程将需要几分钟才能完成
第二步:运行节点
您已准备好运行连接到 regtest 网络的节点。如果安装时没有调试符号,请运行:
target/release/stacks-node krypton
如果安装有调试符号,请运行:
target/debug/stacks-node krypton
第一次运行时,您会看到一些日志,表明正在编译 Rust 代码。完成后,您应该会看到一些类似以下内容的日志:
INFO [1588108047.585] [src/chainstate/stacks/index/marf.rs:732] First-ever block 0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206
在 Windows 系统上运行 regtest 节点
前提条件
在开始之前,请检查您的电脑上是否安装了以下必要的软件
提示:使用上述链接安装 Microsoft Visual Studio 开发工具时,请在出现提示时选择 C++ 开发工具选项。
NodeJs.
Git.
可选项依赖
下载二进制文件并运行跟随节点
注意:请确保下载新的二进制文件,并在新版本可用时按照以下步骤操作。
首先,访问 Stacks Github 版本库。从各种二进制列表中,单击以下载 Windows 二进制文件。请参考下图。
接下来,单击保存文件,并在弹出的窗口中点击确定按钮。
保存后,提取二进制文件。从解压缩二进制文件的文件夹中打开命令提示符并执行以下命令:
stacks-node krypton
# This command will start the regtest follower node.
请注意:第一次启动节点时,windows Defender 会弹出允许访问的信息。如果是,请点击允许访问以运行节点。
要在开启调试的情况下,同时执行 Stacks 节点,请运行:
set RUST_BACKTRACE=full
set STACKS_LOG_DEBUG=1
stacks-node krypton
# This command will execute the binary and start the follower node with debug enabled.
第一次运行时,您会看到一些日志,表明正在编译 Rust 代码。完成后,您应该会看到一些类似于以下内容的日志:
INFO [1588108047.585] [src/chainstate/stacks/index/marf.rs:732] First-ever block 0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206
现在。您的节点现在已连接到 regtest 网络。
其他部署方法:使用 Docker 运行 regtest 网络
或者,您可以使用 Docker 运行 regtest 节点。
确保您的机器上已经安装了 Docker 。
docker run -d \
--name stacks_follower \
-p 20443:20443 \
-p 20444:20444 \
blockstack/stacks-blockchain \
stacks-node krypton
要开启调试日志记录,请添加 ENV VARS RUST_BACKTRACE="full" 和 STACKS_LOG_DEBUG="1"。
您可以使用以下命令查看节点日志:
docker logs -f stacks_follower
其他方法:使用 Helm 在 Kubernetes 中运行
此外,您还可以使用 stacks-blockchain Helm chart 在 Kubernetes 集群中运行 regtest 节点。 请确保您的机器上已经安装了以下工具:
minikube(仅在建立本地 Kubernetes 集群时才需要) kubectl helm 要使用发行版名称 my-release 安装 chart 并以跟随者身份运行节点:
minikube start # Only run this if standing up a local Kubernetes cluster
helm repo add blockstack https://charts.blockstack.xyz
helm install my-release blockstack/stacks-blockchain
您可以使用以下命令查看节点日志:
kubectl logs -l app.kubernetes.io/name=stacks-blockchain
有关 Helm 图表和配置选项的更多信息,请参阅图表主页。
其他:在 regtest 网络挖 Stacks 代币
Stacks 区块链 regtest 网络目前不提供挖矿功能。