3 releases (breaking)
Uses old Rust 2015
0.6.0 | Jun 23, 2020 |
---|---|
0.5.0 | Jan 19, 2020 |
0.4.1 |
|
0.4.0 | Oct 17, 2018 |
#4 in #amino
2,303 downloads per month
Used in 4 crates
(via stdtx)
66KB
1.5K
SLoC
Rust Amino
This is a work in progress implementation of the Amino serialization for Tendermint/Cosmos in the Rust Language. For details on amino, see: https://github.com/tendermint/go-amino.
It is based on the Protocol Buffers implementation prost! by @danburkert.
Like prost! for protobuf, it uses Rust's type-directed metaprogramming to add support for amino's registered types.
Registered types can be annotated via
#[aminoName="registered/name/goes/here"]
to derive encoding and decoding.
As amino allows to register type aliases of primitive types (e.g.
bytes via
ed25519.Pubkey), you can also annotate fields.
You can find a complete example which uses both, a registered type (or message) and a registered scalar type
(bytes
or Vec<u8>
) in the kms repository.
Dependencies
~340KB