testnet
GitHub EN

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 발행할 토큰의 양입니다. denomokrw 모듈의 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
ESC
검색어를 입력하세요