Merge branch 'ja-dynamicnft'

This commit is contained in:
mDuo13
2025-05-28 14:17:44 -07:00
7 changed files with 91 additions and 9 deletions

View File

@@ -0,0 +1,32 @@
---
seo:
description: ダイナミックNFTを作成し、URIを変更して参照されるデータオブジェクトを更新するオプションを提供します。
labels:
- 非代替性トークン, NFT
---
# ダイナミックNFT (dNFT)
標準的なNFTは変更不可能です。一部のユースケースでは、NFTの初回Mint後に参照されるデータオブジェクトを更新する機能が便利です。例えば、延期されたイベントのコンサートチケットを代替日に更新したり、スポーツ選手のバーチャルトレーディングカードを定期的に現在の統計情報に更新したりすることができます。ダイナミックNFTdNFTは、このようなユースケースに柔軟性を提供します。
## 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",
}
```

View File

@@ -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`トランザクションを使用して更新することができます。 |
## 追加情報の埋め込み

View File

@@ -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" /%}

View File

@@ -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",
}
```

View File

@@ -33,12 +33,15 @@ title:
| `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. |
| `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" /%}

File diff suppressed because one or more lines are too long

View File

@@ -73,7 +73,8 @@
}
// "Source" links float right
a[title="Source"] {
a[title="Source"],
a[title="ソース"] {
float: right;
padding-left: 20px;
}