5 releases (breaking)

0.4.0 Aug 23, 2024
0.3.0 Aug 14, 2024
0.2.0 Jul 30, 2024
0.1.0 Jul 8, 2024
0.0.0-release Jul 8, 2024

#29 in #constraint


Used in essential-rest-server

Apache-2.0

125KB
2.5K SLoC

Essential Server

Crates.io Documentation license Build Status

A centralized server implementation of the Essential declarative protocol. This crate is responsible for building blocks and managing the core functionality of the Essential application, serving as the backbone for the entire system.

Block State Contract

The server uses a special contract to store state about the blocks. Currently this includes time and block number. If you want to query this state you can do the following:

interface BlockState {
    storage {
        number: int,
        time: int,
    }
}

predicate MyPredicate {
    interface Block = BlockState(0xF745D1D91B68080CF398556DDD611B620964D2B1974C0283F03AC7C142B394DF);

    state time = Block::time;
    state number = Block::number;
}

Dependencies

~14–22MB
~291K SLoC