You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Substrate全节点使用--staging flag无法出块,如何正确使用staging配置?

问题原因说明

你看到的节点输出表示当前节点未连接到任何对等节点,且网络中没有授权的出块节点生产区块,核心原因是--chain=staging是Substrate官方预置的预发布测试链配置,并非单节点/私有链启动选项:

  • staging配置内置的出块权限归属于官方预生成的验证人密钥,你本地启动的普通节点没有出块权限,单节点运行时自然无法生成区块
  • 如果你要基于staging配置搭建私有网络,需要手动修改链规范中的验证人集合,替换为你自己控制的节点Session密钥,否则网络不会启动出块逻辑
staging 正确使用指南
  • 如果你要接入官方staging测试网:
    1. 确认你使用的Substrate二进制版本和官方staging网部署的版本完全一致,版本不匹配会导致无法连接对等节点
    2. 启动命令不需要额外加参数,直接运行./target/release/substrate --chain=staging即可,节点会自动发现网络中的对等节点并同步区块
  • 如果你要基于staging配置搭建私有网络:
    1. 导出staging链规范原始文件:./target/release/substrate build-spec --chain=staging --raw > staging-custom.json
    2. 修改staging-custom.json中的palletSession字段下的验证人列表,替换为你自己生成的节点SR2551/ED25519公钥
    3. 启动所有验证人节点时指定自定义链规范:./target/release/substrate --chain=./staging-custom.json --validator --name "你的验证人名称"
    4. 至少启动2个配置好的验证人节点(满足staging默认的最低出块节点数要求),网络会自动开始出块
生产环境配置说法确认

想确认“生产环境应当使用--staging而非--dev、--local”的说法是否正确?
这个说法完全错误,三类配置的定位完全不同:

  • --dev/--local是本地开发测试配置,默认开启即时出块、权限宽松,所有数据重启后可清除,绝对不能用于生产环境
  • --staging是预发布测试网配置,仅用于上线前的功能验证、压力测试,本身不是生产环境配置
  • 生产环境必须使用你自行定制、经过安全审计的自定义链规范,不要使用任何Substrate预置的链配置(包括staging),避免预置密钥、默认参数带来的安全风险

内容的提问来源于stack exchange,提问作者Makam Aravind

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:54:03