exonum-middleware-service

Crates.ioexonum-middleware-service
lib.rsexonum-middleware-service
version1.0.0
sourcesrc
created_at2020-02-07 15:20:58.820066
updated_at2020-03-31 16:05:24.493873
descriptionComposability utilities for Exonum, packaged as a service
homepagehttps://exonum.com/
repositoryhttps://github.com/exonum/exonum
max_upload_size
id205839
size42,386
formats (github:rustcrypto:formats)

documentation

https://docs.rs/exonum-middleware-service

README

Exonum Middleware Service

Travis Build Status License: Apache-2.0 rust 1.42.0+ required

exonum-middleware-service provides a collection of middleware for Exonum blockchain framework, allowing to compose Exonum transactions. For example, the service allows to batch transactions in order to execute the batch atomically, or to check the version of the service before performing a call to it.

Consult the crate docs for more details about the service API.

Functionality overview

Transaction batching

Batching allows to atomically execute several transactions; if an error occurs during execution, changes made by all transactions are rolled back. All transactions in the batch are authorized in the same way as the batch itself.

Checked call

Checked call is a way to ensure that the called service corresponds to a specific artifact with an expected version range. Unlike alternatives (e.g., finding out this information via the services endpoint of the node HTTP API), using checked calls is most failsafe; by design, it cannot suffer from TOCTOU issues. It does impose a certain overhead on the execution, though.

Usage

Include exonum-middleware-service as a dependency in your Cargo.toml:

[dependencies]
exonum = "1.0.0"
exonum-middleware-service = "1.0.0"

License

exonum-middleware-service is licensed under the Apache License (Version 2.0). See LICENSE for details.

Commit count: 5680

cargo fmt