4 releases (1 stable)
1.0.0 | Mar 31, 2020 |
---|---|
1.0.0-rc.3 | Mar 25, 2020 |
1.0.0-rc.2 | Mar 13, 2020 |
1.0.0-rc.1 | Feb 7, 2020 |
#17 in #exonum
1.5MB
27K
SLoC
Exonum Middleware Service
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.
Dependencies
~73MB
~1.5M SLoC