如何获取生产可用的substrate-node-template简易示例chain spec
Substrate-node-template生产环境可用Chain Spec及创世配置获取渠道
针对你已经完成教程、可正常运行开发链、且不修改任何现有项目配置的前提,可直接通过以下几个渠道拿到适配的生产部署用简易示例配置:
- 本地节点二进制直接导出适配版本的配置模板
你本地编译完成可正常运行的node-template二进制本身就内置了生产级配置生成逻辑,不需要改任何代码或配置项,直接执行命令就能导出对应文件:- 先导出人类可读的基础链规格:
./node-template build-spec --chain local > custom-prod-spec.json
这个导出的文件里已经包含完整的默认创世配置:包括初始验证人规则、质押模块初始参数、系统账户初始余额、治理模块默认阈值、链上运行时Wasm二进制等所有创世状态字段,你只需要根据实际部署的服务器信息替换bootnode地址、网络链标识字段即可,核心创世参数不需要调整。 - 导出节点可直接加载的最终raw格式配置:
./node-template build-spec --chain custom-prod-spec.json --raw > custom-prod-raw-spec.json
生成的raw格式文件可以直接分发给所有生产节点,通过--chain custom-prod-raw-spec.json参数启动即可。
- 先导出人类可读的基础链规格:
- 本地node-template代码目录预置的示例配置
你本地拉取的对应版本substrate-node-template项目中,node/res路径下已经预置了经过官方验证的多套链规格示例:其中local类配置就是面向多节点组网部署的最小化样例,配套的chain_spec.rs中默认的生产配置生成逻辑,对应的创世参数完全适配无修改的node-template生产部署需求,不需要调整任何配置项就可以直接编译内置,或者导出后修改网络相关字段使用。 - 同版本Substrate生态项目的公开落地配置参考
大量基于未修改核心配置的substrate-node-template搭建的应用链、测试网,都会公开其初始启动阶段的chain spec和创世配置,你只要匹配和你本地节点完全一致的Substrate版本,就可以直接复用这些经过实际运行验证的配置,不需要调整本地节点的任何代码或配置项,替换chain spec文件即可启动组网。
注意:不要直接用
--dev开发模式的默认配置做生产部署,开发模式内置的公开测试密钥、临时出块参数、预设开发账户权限都存在安全风险,不适用于生产环境。所有获取到的配置必须和你本地编译的节点版本完全匹配,跨版本的chain spec会因为运行时哈希、配置结构差异导致节点启动失败。
内容的提问来源于stack exchange,提问作者hgminerva
相关产品推荐
相关产品推荐

