0

我想deposit_event_indexed在模块中使用该方法但遇到问题。

这个答案的基础上,我想存入MyEvent具有仿制药的存款。

system::Module::<T>::deposit_event_indexed(&[eventHash], RawEvent::MyEvent(id, time).into());

但是,由于此错误,我无法将 RawEvent Enum 转换为 Event 类型,就像在此处完成的那样:

the trait `std::convert::From<RawEvent<_, <T as pallet_timestamp::Trait>::Moment>>` is not implemented for `frame_system::Event`

已编辑

对不起我的错误,我必须Enum RawEvent 创建一个 ::Event ,然后进入::Event

4

1 回答 1

0

要使用

pub fn deposit_event_indexed(topics: &[T::Hash], event: T::Event) { ... }

第二个参数是类型frame_system::Trait::Event

该模块Trait::Event已实现 traitinto()以转换为frame_system::Trait::Event

因此我们首先转换RawEventTrait::Event

let event = <T as Trait>::Event::from(RawEvent::MyEvent(id, time));
system::Module::<T>::deposit_event_indexed(&[event_hash], event.into());
于 2020-03-30T02:29:43.510 回答