Crates.io | prost-amino |
lib.rs | prost-amino |
version | 0.6.0 |
source | src |
created_at | 2018-10-17 16:20:05.225454 |
updated_at | 2020-06-23 14:19:34.220241 |
description | An implementation of the Amino serialization for Tendermint/Cosmos in the Rust Language. See https://github.com/tendermint/go-amino for details. |
homepage | |
repository | https://github.com/tendermint/amino_rs |
max_upload_size | |
id | 91176 |
size | 78,354 |
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.