1 个版本 (0 个不稳定版本)
13.0.1-beta.196 | 2023 年 2 月 17 日 |
---|
#91 在 #creation
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