V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gitandgit
V2EX  ›  区块链

[stacks 区块链中文开发指南] 了解如何部署并运行 regtest 节点

  •  
  •   gitandgit · 2021-09-08 18:03:48 +08:00 · 713 次点击
    这是一个创建于 1163 天前的主题,其中的信息可能已经有所发展或是发生改变。

    英文教程原链接: 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 机器标准 2AWS 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++ 开发工具选项。

    image

    • NodeJs.

    • Git.

    可选项依赖

    下载二进制文件并运行跟随节点

    注意:请确保下载新的二进制文件,并在新版本可用时按照以下步骤操作。

    首先,访问 Stacks Github 版本库。从各种二进制列表中,单击以下载 Windows 二进制文件。请参考下图。

    image

    接下来,单击保存文件,并在弹出的窗口中点击确定按钮。

    image

    保存后,提取二进制文件。从解压缩二进制文件的文件夹中打开命令提示符并执行以下命令:

    stacks-node krypton
    # This command will start the regtest follower node.
    

    请注意:第一次启动节点时,windows Defender 会弹出允许访问的信息。如果是,请点击允许访问以运行节点。

    image

    要在开启调试的情况下,同时执行 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 网络目前不提供挖矿功能。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5793 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 02:55 · PVG 10:55 · LAX 18:55 · JFK 21:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.