我有一个要求,我需要在Substrate 2.0中通过一些字节来创建一个accountId。
有没有办法在运行时(FRAME(中在AccountId32
和<T as frame_system::Trait>::AccountId
之间进行转换?或者从字节创建<T as frame_system::Trait>::AccountId
的实例?
感谢
给定原始字节,您可以尝试构建一个帐户id,如下所示:
T::AccountId::decode(&mut &bytes[..]).unwrap_or_default();
您可能希望以不同于返回默认AccountId的方式处理错误情况。
如果您可以验证原始字节的长度为32([u8; 32]
(,则此操作永远不会失败,因此您可以放置.expect("32 bytes can always construct an AccountId32")
。