cosmos/crypto
Table of Contents
cosmos/crypto/ed25519/keys.proto
TopPrivKey
Deprecated: PrivKey defines a ed25519 private key.
NOTE: ed25519 keys must not be used in SDK apps except in a tendermint validator context.
Field | Type | Label | Description |
key | bytes |
|
PubKey
PubKey is an ed25519 public key for handling Tendermint keys in SDK.
It's needed for Any serialization and SDK compatibility.
It must not be used in a non Tendermint key context because it doesn't implement
ADR-28. Nevertheless, you will like to use ed25519 in app user level
then you must create a new proto message and follow ADR-28 for Address construction.
Field | Type | Label | Description |
key | bytes |
|
cosmos/crypto/multisig/v1beta1/multisig.proto
TopCompactBitArray
CompactBitArray is an implementation of a space efficient bit array.
This is used to ensure that the encoded data takes up a minimal amount of
space after proto encoding.
This is not thread safe, and is not intended for concurrent usage.
Field | Type | Label | Description |
extra_bits_stored | uint32 |
|
|
elems | bytes |
|
MultiSignature
MultiSignature wraps the signatures from a multisig.LegacyAminoPubKey.
See cosmos.tx.v1betata1.ModeInfo.Multi for how to specify which signers
signed and with which modes.
Field | Type | Label | Description |
signatures | bytes | repeated |
|
cosmos/crypto/multisig/keys.proto
TopLegacyAminoPubKey
LegacyAminoPubKey specifies a public key type
which nests multiple public keys and a threshold,
it uses legacy amino address rules.
Field | Type | Label | Description |
threshold | uint32 |
|
|
public_keys | google.protobuf.Any | repeated |
|
cosmos/crypto/secp256k1/keys.proto
TopPrivKey
PrivKey defines a secp256k1 private key.
Field | Type | Label | Description |
key | bytes |
|
PubKey
PubKey defines a secp256k1 public key
Key is the compressed form of the pubkey. The first byte depends is a 0x02 byte
if the y-coordinate is the lexicographically largest of the two associated with
the x-coordinate. Otherwise the first byte is a 0x03.
This prefix is followed with the x-coordinate.
Field | Type | Label | Description |
key | bytes |
|
cosmos/crypto/secp256r1/keys.proto
TopSince: cosmos-sdk 0.43
PrivKey
PrivKey defines a secp256r1 ECDSA private key.
Field | Type | Label | Description |
secret | bytes | secret number serialized using big-endian encoding |
PubKey
PubKey defines a secp256r1 ECDSA public key.
Field | Type | Label | Description |
key | bytes | Point on secp256r1 curve in a compressed representation as specified in section 4.3.6 of ANSI X9.62: https://webstore.ansi.org/standards/ascx9/ansix9621998 |
Scalar Value Types
.proto Type | Notes | Python Type |
double | float | |
float | float | |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int/long |
uint32 | Uses variable-length encoding. | int/long |
uint64 | Uses variable-length encoding. | int/long |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int/long |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | int |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | int/long |
sfixed32 | Always four bytes. | int |
sfixed64 | Always eight bytes. | int/long |
bool | boolean | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode |
bytes | May contain any arbitrary sequence of bytes. | str |