7 releases (4 breaking)

0.5.0 Apr 3, 2024
0.4.1 Nov 10, 2023
0.4.0 Jun 14, 2023
0.3.0 May 11, 2023
0.1.0 Jan 31, 2023

#25 in #casper

Download history 118/week @ 2024-07-22 158/week @ 2024-07-29 117/week @ 2024-08-05 74/week @ 2024-08-12 66/week @ 2024-08-19 147/week @ 2024-08-26 64/week @ 2024-09-02 76/week @ 2024-09-09 118/week @ 2024-09-16 169/week @ 2024-09-23 79/week @ 2024-09-30 123/week @ 2024-10-07 208/week @ 2024-10-14 99/week @ 2024-10-21 54/week @ 2024-10-28 134/week @ 2024-11-04

503 downloads per month
Used in 16 crates (via casper-event-standard)

Apache-2.0

13KB
211 lines

Casper Event Standard

The Casper Event Standard is a Rust library that provides a simple and standardized way for smart contracts on the Casper Network to emit events. Events are an important tool for decentralized applications, as they allow contracts to communicate with external services in a transparent and decentralized way.

With the Casper Event Standard, developers can easily define custom event types and register them in the contract. The library provides a convenient API for emitting events. This makes it easy to build complex applications that rely on event-driven architecture.

Whether you're building a decentralized exchange, a prediction market, or any other type of blockchain application, the Casper Event Standard is an essential tool for creating reliable and scalable smart contracts. So why wait? Start using the Casper Event Standard today and take your decentralized application to the next level!

Usage

use casper_event_standard::Event;

// Turn a struct into an event.
#[derive(Event)]
struct Transfer {
    amount: U256,
    from: Key,
    to: Key
}

// Register event schemas.
fn init_events() {
    let schemas = Schemas::new()
        .with::<Transfer>();
    casper_event_standard::init(schemas);
}

// Emit event.
fn emit_transfer(transfer: Transfer) {
    casper_event_standard::emit(transfer);
}

Tests

To test the code run:

$ just test

Dependencies

~1.5MB
~37K SLoC