Skip to main content
Version: v7.0.0

Protobuf Documentation

Function

The Minting Module plays a crucial role in the blockchain ecosystem, tasked with regulating the issuance of tokens to validators. This ensures the network's ongoing stability and viability. The module operates consistently, adjusting key parameters with each block to maintain a balanced token supply.

Calculation of Inflation

The method for determining the inflation rate is outlined in the OKP4 Whitepaper - Token Model.

Per-Block Token Generation

Given the annual inflation rate, the Minting Module calculates the exact amount of tokens to be generated for each block, based on the total number of blocks in a year.

Table of Contents

Top

mint/v1beta1/mint.proto

Minter

Minter holds the state of minting within the blockchain.

FieldTypeLabelDescription
inflationstringCurrent annual inflation rate.
annual_provisionsstringCurrent annual anticipated provisions.

Params

Params defines the parameters for the mint module.

FieldTypeLabelDescription
mint_denomstringDenomination of the coin to be minted.
inflation_coefstringAnnual inflation coefficient, influencing the inflation rate based on the bonded ratio. Values range from 0 to 1, with higher values indicating higher inflation.
blocks_per_yearuint64Estimated number of blocks per year.
inflation_maxstringMaximum annual inflation rate.
inflation_minstringMinimum annual inflation rate.

Top

mint/v1beta1/genesis.proto

GenesisState

GenesisState defines the mint module's genesis state.

FieldTypeLabelDescription
minterMinterminter is a space for holding current inflation information.
paramsParamsparams defines all the parameters of the module.

Top

mint/v1beta1/query.proto

QueryAnnualProvisionsRequest

QueryAnnualProvisionsRequest is the request type for the Query/AnnualProvisions RPC method.

QueryAnnualProvisionsResponse

QueryAnnualProvisionsResponse is the response type for the Query/AnnualProvisions RPC method.

FieldTypeLabelDescription
annual_provisionsbytesannual_provisions is the current minting annual provisions value.

QueryInflationRequest

QueryInflationRequest is the request type for the Query/Inflation RPC method.

QueryInflationResponse

QueryInflationResponse is the response type for the Query/Inflation RPC method.

FieldTypeLabelDescription
inflationbytesinflation is the current minting inflation value.

QueryParamsRequest

QueryParamsRequest is the request type for the Query/Params RPC method.

QueryParamsResponse

QueryParamsResponse is the response type for the Query/Params RPC method.

FieldTypeLabelDescription
paramsParamsparams defines the parameters of the module.

Query

Query provides defines the gRPC querier service.

Method NameRequest TypeResponse TypeDescriptionHTTP VerbEndpoint
ParamsQueryParamsRequestQueryParamsResponseParams returns the total set of minting parameters.GET/cosmos/mint/v1beta1/params
InflationQueryInflationRequestQueryInflationResponseInflation returns the current minting inflation value.GET/cosmos/mint/v1beta1/inflation
AnnualProvisionsQueryAnnualProvisionsRequestQueryAnnualProvisionsResponseAnnualProvisions current minting annual provisions value.GET/cosmos/mint/v1beta1/annual_provisions

Top

mint/v1beta1/tx.proto

MsgUpdateParams

MsgUpdateParams is the Msg/UpdateParams request type.

Since: cosmos-sdk 0.47

FieldTypeLabelDescription
authoritystringauthority is the address that controls the module (defaults to x/gov unless overwritten).
paramsParamsparams defines the x/mint parameters to update.

NOTE: All parameters must be supplied. |

MsgUpdateParamsResponse

MsgUpdateParamsResponse defines the response structure for executing a MsgUpdateParams message.

Since: cosmos-sdk 0.47

Msg

Msg defines the x/mint Msg service.

Method NameRequest TypeResponse TypeDescriptionHTTP VerbEndpoint
UpdateParamsMsgUpdateParamsMsgUpdateParamsResponseUpdateParams defines a governance operation for updating the x/mint module parameters. The authority is defaults to the x/gov module account.

Since: cosmos-sdk 0.47 | |

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)