NFTokenMint

NFTokenMint 트랜잭션은 대체 불가능한 토큰을 생성하고 이를 NFTokenMinter의 관련 NFTokenPage 객체에 NFToken 객체로 추가합니다. 이 트랜잭션의 필수 파라미터는 실제 토큰을 지정하는 Token 필드입니다. 이 트랜잭션은 NFTokenMinter가 불변으로 정의된 토큰 필드(예: TokenFlags)를 지정할 수 있는 유일한 기회입니다.

(NonFungibleTokensV1_1 수정안에 의해 추가되었습니다.)

NFTokenMint JSON 예시

{
  "TransactionType": "NFTokenMint",
  "Account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
  "TransferFee": 314,
  "NFTokenTaxon": 0,
  "Flags": 8,
  "Fee": "10",
  "URI": "697066733A2F2F62616679626569676479727A74357366703775646D37687537367568377932366E6634646675796C71616266336F636C67747179353566627A6469",
  "Memos": [
        {
            "Memo": {
                "MemoType":
                  "687474703A2F2F6578616D706C652E636F6D2F6D656D6F2F67656E65726963",
                "MemoData": "72656E74"
            }
        }
    ]
}

NFTokenMint 필드

일반적인 필드 외에도 NFTokenMint 트랜잭션은 다음 필드를 사용합니다:

필드

JSON 유형

설명

NFTokenTaxon

숫자

UInt32

관련 NFT 시리즈 또는 컬렉션에 대한 임의의 분류군 또는 공유 식별자입니다. 일련의 NFT를 생성하려면 모두 동일한 분류를 제공하세요.

Issuer

문자열

계정 ID

(선택 사항) 계정 발신자가 다른 계정을 대신하여 토큰을 발행하는 경우 토큰의 발행자입니다. 트랜잭션을 전송하는 계정이 NFToken의 발급자인 경우 이 필드는 생략해야 합니다. 제공된 경우, 발행자의 AccountRoot 객체에는 이 트랜잭션의 발신자(이 트랜잭션의 계정 필드)로 설정된 NFTokenMinter 필드가 있어야 합니다.

TransferFee

숫자

UInt16

(선택 사항) 이 값은 NFT 토큰의 2차 판매가 허용되는 경우 발행자가 2차 판매에 대해 부과하는 수수료를 지정합니다. 이 필드의 유효한 값은 0에서 50000 사이이며, 0.001 단위로 0.00%에서 50.00% 사이의 전송률을 허용합니다. 이 필드가 제공되면 트랜잭션에 tfTransferable 플래그가 활성화되어 있어야 합니다.

URI

문자열

blob

(선택 사항) 이 값은 NFT 토큰의 2차 판매가 허용되는 경우 발행자가 2차 판매에 대해 부과하는 수수료를 지정합니다. 이 필드의 유효한 값은 0에서 50000 사이이며, 0.001 단위로 0.00%에서 50.00% 사이의 전송률을 허용합니다. 이 필드가 제공되면 트랜잭션에 tfTransferable 플래그가 활성화되어 있어야 합니다.

NFTokenMint 플래그

NFTokenMint 유형의 트랜잭션은 다음과 같이 Flags 필드에 추가 값을 지원합니다:

플래그 이름

16진수 값

소수점 값

설명

tfBurnable

0x00000001

1

발행자(또는 발행자가 승인한 주체)가 발행한 NFT 토큰을 파기할 수 있도록 허용합니다. (NFToken의 소유자는 항상 그렇게 할 수 있습니다.)

tfOnlyXRP

0x00000002

2

발행된 NFToken은 XRP로만 구매하거나 판매할 수 있습니다. 이는 토큰에 전송 수수료가 있고 발행자가 XRP 이외의 통화로 수수료를 받고 싶지 않은 경우 바람직할 수 있습니다.

tfTrustLine

0x00000004

4

DEPRECATED 발행자가 트러스트 라인을 자동으로 생성하여 발행된 NFToken을 전송할 때 받는 전송 수수료를 보관합니다. fixRemoveNFTokenAutoTrustLine 수정으로 인해 이 플래그 설정이 유효하지 않게 되었습니다.

tfTransferable

0x00000008

8

발행된 NFToken을 다른 사람에게 전송할 수 있습니다. 이 플래그가 활성화되지 않은 경우에도 토큰은 발행자로부터 또는 발행자에게 전송할 수 있습니다.

추가 정보 포함

발행 중에 추가 정보를 지정해야 하는 경우(예: 특정 플랫을 참조하여 부동산을 식별하는 세부 정보, VIN을 지정하여 차량을 식별하는 세부 정보 또는 기타 개체별 설명) 트랜잭션 메모를 사용할 수 있습니다. 메모는 서명된 트랜잭션의 일부이며 기록 아카이브에서 사용할 수 있지만 ledger의 상태 데이터에는 저장되지 않습니다.

다른 계정을 대신해 발행하기

다른 계정을 위해 NFT를 발행하려면 두 가지 작업을 수행해야 합니다. 계정 A가 내 계정이고 계정 B가 NFT 토큰을 발행하려는 계정이라고 가정합니다:

  1. 계정 B의 NFTokenMinter 계정 설정을 계정 A로 설정합니다. (이는 계정 B가 계정 A를 신뢰하여 대신 NFT를 생성하도록 한다는 의미입니다.)

  2. NFToken을 발행할 때 발행자 필드를 계정 B로 설정합니다.

발행자가 있는 NFTokenMint의 예시

{
  "TransactionType": "NFTokenMint",
  "Account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
  "Issuer": "rNCFjv8Ek5oDrNiMJ3pw6eLLFtMjZLJnf2",
  "TransferFee": 25000,
  "NFTokenTaxon": 0,
  "Flags": 8,
  "Fee": "10",
  "URI": "697066733A2F2F62616679626569676479727A74357366703775646D37687537367568377932366E6634646675796C71616266336F636C67747179353566627A6469",
  "Memos": [
        {
            "Memo": {
                "MemoType":
                  "687474703A2F2F6578616D706C652E636F6D2F6D656D6F2F67656E65726963",
                "MemoData": "72656E74"
            }
        }
    ]
}

이 트랜잭션은 발행자 rNCFjv8Ek5oDrNiMJ3pw6eLLFtMjZLJnf2가 계정 루트의 NFTokenMinter 필드를 rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B로 설정하여 해당 계정이 토큰을 대신 발행하도록 승인한 것으로 가정합니다.

오류 사례

모든 트랜잭션에서 발생할 수 있는 오류 외에도 NFTokenMint 트랜잭션에서 다음과 같은 트랜잭션 결과 코드가 발생할 수 있습니다:

에러 코드

설명

temDISABLED

NonFungibleTokensV1 수정안이 활성화되지 않았습니다.

temBAD_NFTOKEN_TRANSFER_FEE

TransferFee허용 범위 내에 있지 않습니다 .

temINVALID_FLAG

값 Flags에 허용되지 않는 비트가 활성화되어 있거나 유효한 플래그가 있습니다. fixRemoveNFTokenAutoTrustLine 수정안이 활성화된 경우 tfTrustLine플래그로 인해 이 오류가 발생합니다.

temMALFORMED

거래가 유효하게 지정되지 않았습니다. 예를 들어 URI필드가 256바이트보다 깁니다.

tecNO_ISSUER

발행자란 ledger에 존재하지 않는 계정을 의미합니다.

tecNO_PERMISSION

발행자 필드에 참조된 계정이 이 트랜잭션의 발신자에게 대신 발행할 수 있는 권한을 부여하지 않았습니다(NFTokenMinter 설정 사용).

tecINSUFFICIENT_RESERVE

소유자가 토큰을 발행한 후 업데이트된 준비금 요건을 충족하지 못했습니다. 새로운 NFT토큰은 각각 최대 32개의 NFT를 보유할 수 있는 새로운 NFTokenPage 객체가 필요한 경우에만 소유자의 준비금을 증가시킵니다.

tecMAX_SEQUENCE_REACHED

발행자의 MintedNFTokens 필드가 이미 최대값에 도달했습니다. 이는 발행자 또는 발행자를 대신하여 총 232-1 NFT토큰을 발행한 경우에만 가능합니다.

Last updated