diff --git a/@l10n/ja/docs/concepts/tokens/nfts/dynamic-nfts.md b/@l10n/ja/docs/concepts/tokens/nfts/dynamic-nfts.md new file mode 100644 index 0000000000..b85facea43 --- /dev/null +++ b/@l10n/ja/docs/concepts/tokens/nfts/dynamic-nfts.md @@ -0,0 +1,32 @@ +--- +seo: + description: ダイナミックNFTを作成し、URIを変更して参照されるデータオブジェクトを更新するオプションを提供します。 +labels: + - 非代替性トークン, NFT +--- + +# ダイナミックNFT (dNFT) + +標準的なNFTは変更不可能です。一部のユースケースでは、NFTの初回Mint後に参照されるデータオブジェクトを更新する機能が便利です。例えば、延期されたイベントのコンサートチケットを代替日に更新したり、スポーツ選手のバーチャルトレーディングカードを定期的に現在の統計情報に更新したりすることができます。ダイナミックNFT(dNFT)は、このようなユースケースに柔軟性を提供します。 + +## dNFTの作成 + +新しいNFTをミントする際に、`tfMutable`フラグ(`0x00000010`)を設定して、NFTの`URI`フィールドを更新する機能を有効にします。 + +## dNFTの変更 + +`NFTokenModify`トランザクションを使用して、dNFTの`URI`フィールドを更新します。発行者または許可された発行者の`Account`、dNFTの`Owner`(`Account`アドレスと異なる場合)、dNFTの`NFTokenID`、および新しいオブジェクトデータの`URI`を指定します。 + +### NFTokenModifyトランザクションの例 + +```json +{ + "TransactionType": "NFTokenModify", + "Account": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "Owner": "rogue5HnPRSszD9CWGSUz8UGHMVwSSKF6", + "Fee": "10", + "Sequence": 33, + "NFTokenID": "0008C350C182B4F213B82CCFA4C6F59AD76F0AFCFBDF04D5A048C0A300000007", + "URI": "697066733A2F2F62616679626569636D6E73347A736F6C686C6976346C746D6E356B697062776373637134616C70736D6C6179696970666B73746B736D3472746B652F5665742E706E67", + } +``` diff --git a/@l10n/ja/docs/references/protocol/transactions/types/nftokenmint.md b/@l10n/ja/docs/references/protocol/transactions/types/nftokenmint.md index 0b04b61777..d1cf633eaf 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/nftokenmint.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/nftokenmint.md @@ -1,6 +1,4 @@ --- -html: nftokenmint.html -parent: transaction-types.html seo: description: NFTokenMintを使用して新規NFTを発行する。 labels: @@ -62,6 +60,7 @@ NFTokenMint型のトランザクションでは、以下のように[`Flags`フ | `tfOnlyXRP` | `0x00000002` | 2 | 発行された`NFToken`はXRPでのみ売買が可能です。これは、トークンに送金手数料がかかり、発行者がXRP以外のトークンで手数料を受け取りたくない場合に望ましいでしょう。 | | `tfTrustLine` | `0x00000004` | 4 | **非推奨** 発行者が、発行した`NFToken`を転送する際に受け取る手数料を保有するために、自動的に[トラストライン](../../../../concepts/tokens/fungible-tokens/index.md) を作成します。[fixRemoveNFTokenAutoTrustLine Amendment][]により、このフラグの設定は無効となります。 | | `tfTransferable` | `0x00000008` | 8 | 発行された`NFToken`は他の人に譲渡することができます。このフラグが _有効でない_ 場合、トークンは _発行者から_ 、または _発行者へ_ のみ転送することができます。 | +| `tfMutable` | `0x00000010` | 16 | 発行された`NFToken`の`URI`フィールドは、`NFTokenModify`トランザクションを使用して更新することができます。 | ## 追加情報の埋め込み diff --git a/@l10n/ja/docs/references/protocol/transactions/types/nftokenmodify.md b/@l10n/ja/docs/references/protocol/transactions/types/nftokenmodify.md new file mode 100644 index 0000000000..3cf9f0f4ef --- /dev/null +++ b/@l10n/ja/docs/references/protocol/transactions/types/nftokenmodify.md @@ -0,0 +1,47 @@ +--- +seo: + description: ダイナミックNFTを変更します。 +labels: + - 非代替性トークン, トークン, NFT +title: + - NFTokenModify +--- +# NFTokenModify +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/NFTokenMint.cpp "ソース") + +`NFTokenModify`は、NFTの`URI`フィールドを別のURIに変更し、NFTのサポートデータを更新するために使用されます。NFTは、`tfMutable`フラグが設定された状態でミントされている必要があります。[ダイナミックNFT](../../../../concepts/tokens/nfts/dynamic-nfts.md)をご覧ください。 + +## {% $frontmatter.seo.title %} JSONの例 + + +```json +{ + "TransactionType": "NFTokenModify", + "Account": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "Owner": "rogue5HnPRSszD9CWGSUz8UGHMVwSSKF6", + "Fee": "10", + "Sequence": 33, + "NFTokenID": "0008C350C182B4F213B82CCFA4C6F59AD76F0AFCFBDF04D5A048C0A300000007", + "URI": "697066733A2F2F62616679626569636D6E73347A736F6C686C6976346C746D6E356B697062776373637134616C70736D6C6179696970666B73746B736D3472746B652F5665742E706E67" +} +``` + +{% raw-partial file="/@l10n/ja/docs/_snippets/tx-fields-intro.md" /%} + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:------------------|:---------|:-------------|:-------------------| +| `TransactionType` | 文字列 | UINT16 | `NFTokenModify` | +| `Account` | 文字列 | AccountID | NFTの発行者または許可されたアカウントの一意のアドレス。 | +| `Owner` | 文字列 | AccountID | _(任意)_ NFTの所有者のアドレス。`Account`と`Owner`が同じアドレスの場合、このフィールドは省略します。 | +| `NFTokenID` | 文字列 | Hash256 | NFTを識別する一意のID。 | +| `URI` | 文字列 | Blob | _(任意)_ 最大256バイトの任意のデータ。JSONでは、16進数の文字列としてエンコードされます。[`xrpl.convertStringToHex`](https://js.xrpl.org/modules.html#convertStringToHex)ユーティリティメソッドを使用してURIを16進数に変換できます。これは、NFTに関連するデータまたはメタデータを指すURIです。URIはHTTPまたはHTTPS URL、IPFS URI、マグネットリンク、[RFC 2379 "data" URL](https://datatracker.ietf.org/doc/html/rfc2397)としてエンコードされた即値データ、または発行者固有のエンコードをデコードできます。URIは検証されません。URIを指定しない場合、既存のURIは削除されます。 | + +## エラーケース + +すべてのトランザクションで発生する可能性のあるエラーに加えて、{% $frontmatter.seo.title %}トランザクションでは、次の[トランザクション結果コード](../transaction-results/index.md)が発生する可能性があります。 + +| エラーコード | 説明 | +|:-------------------|:-----------| +| `tecNO_PERMISSION` | `tfMutable`フラグが有効になっていないため、`URI`フィールドを更新できません。また、`Account`フィールドがNFTの発行者または許可された発行者でない場合、このエラーを受け取ることがあります。 | + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/concepts/tokens/nfts/dynamic-nfts.md b/docs/concepts/tokens/nfts/dynamic-nfts.md index 132a6e18d1..8db541619b 100644 --- a/docs/concepts/tokens/nfts/dynamic-nfts.md +++ b/docs/concepts/tokens/nfts/dynamic-nfts.md @@ -26,7 +26,7 @@ Use the `NFTokenModify` transaction to update the URI field of a dNFT. Provide t "Owner": "rogue5HnPRSszD9CWGSUz8UGHMVwSSKF6", "Fee": "10", "Sequence": 33, - "NFTokenID": “0008C350C182B4F213B82CCFA4C6F59AD76F0AFCFBDF04D5A048C0A300000007", + "NFTokenID": "0008C350C182B4F213B82CCFA4C6F59AD76F0AFCFBDF04D5A048C0A300000007", "URI": "697066733A2F2F62616679626569636D6E73347A736F6C686C6976346C746D6E356B697062776373637134616C70736D6C6179696970666B73746B736D3472746B652F5665742E706E67", } ``` diff --git a/docs/references/protocol/transactions/types/nftokenmodify.md b/docs/references/protocol/transactions/types/nftokenmodify.md index 178421884c..da1c178f21 100644 --- a/docs/references/protocol/transactions/types/nftokenmodify.md +++ b/docs/references/protocol/transactions/types/nftokenmodify.md @@ -31,14 +31,17 @@ title: | Field | JSON Type | [Internal Type][] | Description | |:------------------|:--------------------|:------------------|:-------------------| | `TransactionType` | String | UINT16 | Type is `NFTokenModify`. | -| `Account` | String | AccountID | The unique address of either the issuer or an authorized minter of the NFT. | -| `Owner` | String | AccountID | _(Optional)_ Address of the owner of the NFT. If the `Account` and `Owner` are the same address, omit this field. | -| `NFTokenID` | String | Hash 256 | Composite field that uniquely identifies the token. | -| `URI` | String | Blob | _(Optional)_ Up to 256 bytes of arbitrary data. In JSON, this should be encoded as a string of hexadecimal. You can use the [`xrpl.convertStringToHex`](https://js.xrpl.org/modules.html#convertStringToHex) utility to convert a URI to its hexadecimal equivalent. This is intended to be a URI that points to the data or metadata associated with the NFT. The contents could decode to an HTTP or HTTPS URL, an IPFS URI, a magnet link, immediate data encoded as an [RFC 2379 "data" URL](https://datatracker.ietf.org/doc/html/rfc2397), or even an issuer-specific encoding. The URI is not checked for validity. If you do not specify a URI, the existing URI is deleted. | +| `Account` | String | AccountID | The unique address of either the issuer or an authorized minter of the NFT. | +| `Owner` | String | AccountID | _(Optional)_ Address of the owner of the NFT. If the `Account` and `Owner` are the same address, omit this field. | +| `NFTokenID` | String | Hash256 | Composite field that uniquely identifies the token. | +| `URI` | String | Blob | _(Optional)_ Up to 256 bytes of arbitrary data. In JSON, this should be encoded as a string of hexadecimal. You can use the [`xrpl.convertStringToHex`](https://js.xrpl.org/modules.html#convertStringToHex) utility to convert a URI to its hexadecimal equivalent. This is intended to be a URI that points to the data or metadata associated with the NFT. The contents could decode to an HTTP or HTTPS URL, an IPFS URI, a magnet link, immediate data encoded as an [RFC 2379 "data" URL](https://datatracker.ietf.org/doc/html/rfc2397), or even an issuer-specific encoding. The URI is not checked for validity. If you do not specify a URI, the existing URI is deleted. | + ## Error Cases + Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} transactions can result in the following [transaction result codes](../transaction-results/index.md): | Error Code | Description | |:-------------------|:------------| | `tecNO_PERMISSION` | The `tfMutable` flag wasn't enabled, so you can't update the `URI` field. You can also receive this error if the `Account` field isn't an issuer or authorized minter of the NFT. | + {% raw-partial file="/docs/_snippets/common-links.md" /%}