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

升级Substrate后`DepartmentDetails未实现scale_info::TypeInfo`报错如何解决?

错误原因

你使用的 monthly-2021-10 版本 Substrate 已默认启用 Metadata V14 规范,所有在链上存储中使用的自定义结构体必须实现 scale_info::TypeInfo trait 才能正确生成链上元数据,你定义的 DepartmentDetails 结构体当前未派生该 trait,因此触发编译错误。

可行解决方案
  1. 首先在结构体定义的文件头部导入 TypeInfo 依赖:
use scale_info::TypeInfo;
  1. 修改 DepartmentDetails 结构体的派生宏列表,追加 TypeInfo 派生:
#[derive(PartialEq, Eq, PartialOrd, Ord, Default, Clone, Encode, Decode, RuntimeDebug, TypeInfo)]
pub struct DepartmentDetails {
    pub name: Vec<u8>,
    pub location: Vec<u8>,
    pub details: Vec<u8>,
    pub departmentid: u128,
}
  1. 检查对应 pallet 的 Cargo.toml 配置,确保 scale-info 依赖和 feature 配置正确:
[dependencies]
scale-info = { version = "2.0", default-features = false, features = ["derive"] }

[features]
default = ["std"]
std = [
    # 保留原有其他std配置项
    "scale-info/std",
]

修改完成后重新编译即可解决该 trait 未实现的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:54:06