x/mint
목차
Concepts
발행 메커니즘
발행 메커니즘은 다음과 같이 설계되었습니다:- 특정 본딩 스테이크 비율을 목표로 하는 시장 수요에 의해 결정되는 유연한 인플레이션율 허용
- 시장 유동성과 스테이킹 공급 간의 균형 유지
- 실제 본딩된 토큰 비율이 목표 본딩 비율 아래이면 최대값에 도달할 때까지 인플레이션율이 증가합니다
- 목표 본딩 비율(Cosmos-Hub에서 67%)이 유지되면 인플레이션율이 일정하게 유지됩니다
- 실제 본딩된 토큰 비율이 목표 본딩 비율 위이면 최소값에 도달할 때까지 인플레이션율이 감소합니다
State
Minter
Minter는 현재 인플레이션 정보를 보유하는 공간입니다.- Minter:
0x00 -> ProtocolBuffer(minter)
reference
Params
mint 모듈은 params를0x01 접두사와 함께 상태에 저장하며, governance 또는 authority가 있는 주소로 업데이트할 수 있습니다.
- Params:
mint/params -> legacy_amino(params)
reference
Begin-Block
발행 매개변수는 각 블록 시작 시 재계산되고 인플레이션이 지급됩니다.인플레이션율 계산
인플레이션율은NewAppModule 함수에 전달되는 “인플레이션 계산 함수”를 사용하여 계산됩니다. 함수가 전달되지 않으면 SDK의 기본 인플레이션 함수(NextInflationRate)가 사용됩니다. 커스텀 인플레이션 계산 로직이 필요한 경우 InflationCalculationFn의 시그니처와 일치하는 함수를 정의하고 전달하여 달성할 수 있습니다.
NextInflationRate
목표 연간 인플레이션율은 각 블록마다 재계산됩니다. 인플레이션은 또한 원하는 비율(67%)과의 거리에 따라 변화율(양수 또는 음수)이 적용됩니다. 가능한 최대 변화율은 연간 13%로 정의되지만, 연간 인플레이션은 7%에서 20% 사이로 제한됩니다.NextAnnualProvisions
현재 총 공급량과 인플레이션율을 기반으로 연간 공급량을 계산합니다. 이 매개변수는 블록당 한 번 계산됩니다.BlockProvision
현재 연간 공급량을 기반으로 각 블록에 대해 생성되는 공급량을 계산합니다. 공급량은mint 모듈의 ModuleMinterAccount에 의해 발행된 다음 auth의 FeeCollector ModuleAccount로 전송됩니다.
Parameters
mint 모듈은 다음 매개변수를 포함합니다:| Key | Type | Example |
|---|---|---|
| MintDenom | string | ”uatom” |
| InflationRateChange | string (dec) | “0.130000000000000000” |
| InflationMax | string (dec) | “0.200000000000000000” |
| InflationMin | string (dec) | “0.070000000000000000” |
| GoalBonded | string (dec) | “0.670000000000000000” |
| BlocksPerYear | string (uint64) | “6311520” |
Events
mint 모듈은 다음 이벤트를 발생시킵니다:BeginBlocker
| Type | Attribute Key | Attribute Value |
|---|---|---|
| mint | bonded_ratio | |
| mint | inflation | |
| mint | annual_provisions | |
| mint | amount |
Client
CLI
사용자는 CLI를 사용하여mint 모듈을 쿼리하고 상호작용할 수 있습니다.
Query
query 명령을 사용하여 mint 상태를 쿼리할 수 있습니다.
annual-provisions
annual-provisions 명령을 사용하여 현재 발행 연간 공급량 값을 쿼리할 수 있습니다.
inflation
inflation 명령을 사용하여 현재 발행 인플레이션 값을 쿼리할 수 있습니다.
params
params 명령을 사용하여 현재 발행 매개변수를 쿼리할 수 있습니다.
gRPC
사용자는 gRPC 엔드포인트를 사용하여mint 모듈을 쿼리할 수 있습니다.
AnnualProvisions
AnnualProvisions 엔드포인트를 사용하여 현재 발행 연간 공급량 값을 쿼리할 수 있습니다.
Inflation
Inflation 엔드포인트를 사용하여 현재 발행 인플레이션 값을 쿼리할 수 있습니다.
Params
Params 엔드포인트를 사용하여 현재 발행 매개변수를 쿼리할 수 있습니다.
REST
사용자는 REST 엔드포인트를 사용하여mint 모듈을 쿼리할 수 있습니다.
