Crates.io | exonum-middleware-service |
lib.rs | exonum-middleware-service |
version | 1.0.0 |
source | src |
created_at | 2020-02-07 15:20:58.820066 |
updated_at | 2020-03-31 16:05:24.493873 |
description | Composability utilities for Exonum, packaged as a service |
homepage | https://exonum.com/ |
repository | https://github.com/exonum/exonum |
max_upload_size | |
id | 205839 |
size | 42,386 |
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.
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 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.
Include exonum-middleware-service
as a dependency in your Cargo.toml
:
[dependencies]
exonum = "1.0.0"
exonum-middleware-service = "1.0.0"
exonum-middleware-service
is licensed under the Apache License (Version 2.0).
See LICENSE for details.