1 个不稳定版本
0.1.0 | 2021年10月15日 |
---|
#10 in #smart-contract
10KB
196 行
简介
该项目是一个库,使得开发者可以轻松地在他们的智能合约中使用事件。
如何使用
事件提供者
#[no_mangle]
fn call(){
...
let mut entry = EntryPoints::new();
if let (entry_set: EntryPoint,entry_unset: EntryPoint) = get_set_event_entry(){
entry.add_entry_point(entry_set);
entry.add_entry_point(entry_unset);
}
let mut named_keys = NamedKeys::new();
named_keys.append(&mut get_set_event_named_keys())
new_contract(entry, named_keys, _, _);
...
}
// when you have a event to evoke
...
send_event("event_name".into(),Some(target),Some(target_entry),runtime_args!{})
...
事件用户
// You need a entry to handle the event
#[no_mangle]
fn handler(){
...
}
// set event callback
...
set_event_callback("handler".into(),contract_hash,callback_entry,target_hash);
...
依赖关系
~8MB
~159K SLoC