Msg/Mint
Mint(ctx context.Context, in *MsgMint) (*MsgMintResponse, error) 새로운 OKRW 토큰을 발행하여 지정된 수신자 주소로 전송합니다. 이 작업은 모듈 매개변수에 'minter'로 지정된 주소만 수행할 수 있습니다. OKRW의 총 공급량을 늘리는 데 사용되는 권한 있는 작업입니다.
파라미터
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
minter | string | ✓ | 토큰 발행 권한이 있는 계정의 bech32 주소입니다. 이 주소는 okrw 모듈의 minter_address 매개변수와 일치해야 합니다. |
recipient | string | ✓ | 새로 발행된 토큰을 받을 계정의 bech32 주소입니다. |
amount | cosmos.base.v1beta1.Coin | ✓ | 발행할 토큰의 양입니다. denom은 okrw 모듈의 mint_denom 매개변수(예: 'aokrw')와 일치해야 하며, amount는 정수를 나타내는 문자열이어야 합니다. |
반환값
타입:
MsgMintResponse 성공 시 빈 응답을 반환합니다.
에러
| 코드 | 이름 | 설명 |
|---|---|---|
codes.InvalidArgument | InvalidArgument | `minter` 또는 `recipient` 주소가 유효하지 않거나, `amount`가 양수가 아니거나 잘못된 단위를 가질 경우 발생합니다. |
codes.PermissionDenied | Unauthorized | 메시지의 `minter` 주소가 모듈 매개변수에 있는 공인된 발행자 주소와 일치하지 않을 경우 발생합니다. |
예제
Go 클라이언트를 사용한 OKRW 발행
이 예제는 생성된 Go gRPC 클라이언트를 사용하여 1 OKRW를 발행하기 위해 `MsgMint` 트랜잭션을 구성하고 전송하는 방법을 보여줍니다.
import (
"context"
okrwv1 "maroo/api/maroo/okrw/v1"
"cosmossdk.io/api/cosmos/base/v1beta1"
"google.golang.org/grpc"
)
func mintOkrw(conn *grpc.ClientConn, minterAddr, recipientAddr string) (*okrwv1.MsgMintResponse, error) {
msgClient := okrwv1.NewMsgClient(conn)
msg := &okrwv1.MsgMint{
Minter: minterAddr,
Recipient: recipientAddr,
Amount: &v1beta1.Coin{
Denom: "aokrw", // atto-okrw
Amount: "1000000000000000000", // 1 OKRW
},
}
return msgClient.Mint(context.Background(), msg)
} grpcurl을 사용한 OKRW 발행
`grpcurl`을 사용하여 5 OKRW를 발행하는 커맨드라인 예제입니다. 테스트 및 스크립팅에 유용합니다.
grpcurl -d '{
"minter": "maroo1...",
"recipient": "maroo1...",
"amount": {
"denom": "aokrw",
"amount": "5000000000000000000"
}
}' -plaintext [maroo-node-ip]:9090 maroo.okrw.v1.Msg.Mint