[stacks 区块链中文开发指南] 了解如何部署并运行 regtest 节点 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gitandgit
V2EX    区块链

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

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

    英文教程原链接: 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     Solana     5354 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 08:59 PVG 16:59 LAX 01:59 JFK 04:59
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86