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

实操Substrate「Create a Pallet」教程构建节点时出现模块无法识别报错

报错现象

完成Substrate「Create a Pallet」教程实操后构建节点,自定义Pallet模块无法被识别,报错截图如下:
报错截图

排查与解决方案

  • 检查runtime/Cargo.toml配置
    确认已正确添加自定义Pallet依赖,路径、版本填写无误;同时检查[features]区块下的std列表中已添加你的Pallet的std特性,示例如下:
    [dependencies]
    pallet-your-name = { path = "../pallets/pallet-your-name", default-features = false, version = "4.0.0-dev" }
    
    [features]
    std = [
        # 其他现有依赖的std配置
        "pallet-your-name/std",
    ]
    
    漏加std特性是模块识别失败的高频原因。
  • 检查runtime/src/lib.rs配置
    1. 确认已正确引入Pallet:use pallet_your_name;
    2. 确认已为Runtime实现Pallet的Config trait,所有关联类型都已正确匹配配置
    3. 确认已在construct_runtime!宏中添加Pallet声明,索引值未与现有Pallet重复,格式符合要求,示例如下:
    construct_runtime!(
        pub enum Runtime where
            Block = Block,
            NodeBlock = opaque::Block,
            UncheckedExtrinsic = UncheckedExtrinsic
        {
            // 其他现有Pallet
            YourPallet: pallet_your_name = 10,
        }
    );
    
  • 检查Pallet自身代码合法性
    进入Pallet目录执行cargo check,确认Pallet本身无语法错误,lib.rs顶部已添加#![cfg_attr(not(feature = "std"), no_std)]声明。
  • 清理构建缓存重试
    执行cargo clean清理旧缓存后,重新运行构建命令cargo build --release,排除缓存导致的识别异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 12:42:03