#generate #zip #creation #networking #spec #chain #chainspec

bin+lib chain-spec-generator

为 Xand 网络的创世块创建生成 chainspec 文件

1 个版本 (0 个不稳定版本)

13.0.1-beta.1962023 年 2 月 17 日

#91#creation

MIT/Apache

445KB
1.5K SLoC

chain-spec-generator

用于生成 Xand chainspecs 的工具。

用法

您需要一个 YAML 配置文件,指定初始网络参与者。请参阅此仓库中的 sample_config.yaml 作为示例。

从 Gitlab 下载链规范 zip 文件(待办事项)

将您想使用的 CHAINSPEC_VERSION 模板下载到 ./chainspec_templates 目录

CHAINSPEC_VERSION="7.11.0"
ZIP_FILENAME="chain-spec-template.${CHAINSPEC_VERSION}.zip"

wget --directory-prefix=./chainspec_templates/ --user=$ARTIFACTORY_USER  --password=$ARTIFACTORY_PASS \
    https://transparentinc.jfrog.io/artifactory/artifacts-internal/chain-specs/templates/${ZIP_FILENAME}

选项 1:从源代码构建和运行

该工具可以从仓库根目录通过 Cargo 在本地运行

cargo run generate --chainspec-zip ./chainspec_templates/$ZIP_FILENAME --config my_config.yaml --output-dir ./chainspec_output

选项 2:通过 Docker 运行

CLI 作为一个 Docker 图像发布。可以按照以下方式使用,将 0.3.1 替换为最新版(或所需的版本)

docker run --rm -it \
  -v $(pwd)/my_config.yaml:/config.yaml \
  -v $(pwd)/chainspec_templates/$ZIP_FILENAME:/chainspec_template.zip \
  -v $(pwd)/chainspec_output:/output \
  xandkeeper/chain-spec-generator:0.3.1 \
  generate \
  --chainspec-zip /chainspec_template.zip \
  --config /config.yaml \
  --output-dir /output

手动测试验证器是否可以解析链规范

您可以通过使用验证器 Docker 图像解析并生成链规范的 "raw" 版本来测试链规范是否正确格式化为给定验证器版本

docker run xandkeeper/validator:$CHAINSPEC_VERSION
docker run --rm \
  -v $(pwd)/chainspec_output/chainSpecModified.json:/xand/chainSpecModified.json \
   --entrypoint ./xandstrate \
   xandkeeper/validator:$CHAINSPEC_VERSION build-spec --raw --chain /xand/chainSpecModified.json > $(pwd)/chainspec_output/chainSpecRaw.json

链规范版本控制以进行快照测试

为了帮助减轻错误,我们依赖于 快照测试。我们不会让链规范生成快照测试在 thermite 发布的链规范模板演变时可能失败,而是明确锁定使用的版本。锁定的链规范模板 ZIP 文件副本位于 ./.test-assets

请注意,锁定的版本独立于上面推荐给用户的 CHAINSPEC_VERSION 环境变量,以便他们在运行生成器时方便地使用。然而,建议定期提高快照测试使用的模板版本,以便早期发现差异。

依赖项

~4.5MB
~82K SLoC