#casper #smart-contracts #blockchain #events

casper_event

用于开发具有事件的Casper智能合约的库

1 个不稳定版本

0.1.0 2021年10月15日

#10 in #smart-contract

MIT 许可证

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