Substrate 教程 - 特征 MaxEncodedLen 未针对 `Vec<u8>` 实现

Substrate tutorials - trait `MaxEncodedLen` is not implemented for `Vec<u8>`

目前,在学习基础教程时,我已经到了 "Build the runtime with your new pallet" 部分。根据教程更新并仔细检查文件。

我在预构建检查中遇到以下错误(之前的教程构建正常,Ubuntu 20.04.3):

cargo check -p node-template-runtime

给出:

cargo check -p node-template-runtime
    Updating git repository `https://github.com/paritytech/substrate.git`
    Checking sp-std v4.0.0-dev (https://github.com/paritytech/substrate.git?tag=monthly-2021-11-1#352c46a6)
   Compiling node-template-runtime v4.0.0-dev (/myPath/substrate/att2/substrate-node-template/runtime)
    Checking pallet-template v4.0.0-dev (/myPath/substrate/att2/substrate-node-template/pallets/template)
error[E0277]: the trait bound `Vec<u8>: MaxEncodedLen` is not satisfied
  --> pallets/template/src/lib.rs:40:11
   |
40 | #[pallet::generate_storage_info]
   |           ^^^^^^^^^^^^^^^^^^^^^ the trait `MaxEncodedLen` is not implemented for `Vec<u8>`
   |
   = note: required because of the requirements on the impl of `StorageInfoTrait` for `frame_support::pallet_prelude::StorageMap<_GeneratedPrefixForStorageProofs<T>, frame_support::Blake2_128Concat, Vec<u8>, (<T as frame_system::Config>::AccountId, <T as frame_system::Config>::BlockNumber), frame_support::pallet_prelude::ValueQuery>`
note: required by `storage_info`
  --> /myPath/.cargo/git/checkouts/substrate-7e08433d4c370a21/352c46a/frame/support/src/traits/storage.rs:71:2
   |
71 |     fn storage_info() -> Vec<StorageInfo>;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0277`.
error: could not compile `pallet-template` due to previous error
warning: build failed, waiting for other jobs to finish...
error: build failed

我的 Cargo.toml 中有以下内容:

[dependencies.sp-std]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
tag = 'monthly-2021-11-1'  # or the latest monthly
version = '4.0.0-dev'      # or the latest version

有没有明显的错误? 我该如何开始 debug/fix 这个?

现在,只需删除 #[pallet::generate_storage_info] 宏行。

以后的用户应该不会出现这个错误。 参见 https://github.com/substrate-developer-hub/substrate-docs/issues/627