Merge pull request #2287 from tequdev/ja-nfts

[JA] update nft contents
This commit is contained in:
Rome Reginelli
2023-12-05 11:38:20 -08:00
committed by GitHub
12 changed files with 877 additions and 14 deletions

View File

@@ -0,0 +1,57 @@
---
html: nft-apis.html
parent: non-fungible-tokens.html
blurb: 専用のAPIを使用すると、有用なNFTメタデータにアクセスできます。
labels:
- 非代替性トークン, NFT
---
# NFTのAPI
このページでは、NFTに関連するトランザクションとリクエストを一覧でご紹介します。
## NFTのオブジェクト
- [NFToken][]データ型 - 台帳に保存されるNFTのオブジェクト。
- レジャーオブジェクト
- [NFTokenOfferオブジェクト][] - NFTを売買するためのオファー。
- [NFTokenPageオブジェクト][] - NFTページは最大32個のNFTオブジェクトを保持します。実際には、各NFTページは通常1624個のNFTを保持します。
## NFTのトランザクション
- [NFTokenMint][] - NFTをミントする。
- [NFTokenCreateOffer][] - NFTを売買するためのオファーを作成します。
- [NFTokenCancelOffer][] - NFTを売買するためのオファーをキャンセルします。
- [NFTokenAcceptOffer][] - NFTを売買するためのオファーを承認します。
- [NFTokenBurn][] - 永久的にNFTをバーンします。
## NFTのリクエスト
- [account_nftsメソッド][] - アカウントが所有するNFTのリストを取得します。
- [nft_buy_offersメソッド][] - 指定したNFTokenオブジェクトの購入オファーのリストを取得します。
- [nft_sell_offersメソッド][] - 指定したNFTokenオブジェクトの売却オファーのリストを取得します。
- [subscribeメソッド][] - 特定のテーマに関する最新情報をリッスンします。例えば、マーケットプレイスは、自身のプラットフォームに出品されているNFTのステータスに関する最新情報をリアルタイムで提供することができます。
- [unsubscribeメソッド][] - 特定のテーマに関する最新情報のリッスンを停止します。
## Clio
Clioサーバは、キャッシュに基づいて情報のリクエストを処理することで、ネットワーク全体のパフォーマンスを向上させ、XRP Ledger上のバリデータをトランザクション処理に集中させることができます。一般的なXRP Ledgerのリクエストタイプに加えて、Clioサーバはより詳細なレスポンスを提供する追加のリクエストタイプを処理します。
### Clio特有のNFTのリクエスト
- [nft_info](nft_info.html) - 指定されたNFTに関する現在のステータスを取得します。
- [nft_history](nft_history.html) - 指定されたNFTの過去のトランザクションメタデータを取得します。
<!--
[nfts_by_issuer](nfts_by_issuer.html) - 指定した発行者が作成したNFTの一覧を取得します。
-->
パブリックClioサーバにアクセスするには、そのURLとClioポート通常51233にリクエストを送信します。パブリックClio APIサーバには、SLAも優先的に処理する責任もありません。ビジネスユースケースで継続的な監視や情報リクエストが必要な場合は、独自のClioサーバインスタンスをセットアップすることを検討してください。[UbuntuにClioをインストール](install-clio-on-ubuntu.html)をご覧ください。
<!--{# common link defs #}-->
{% include '_snippets/rippled-api-links.md' %}
{% include '_snippets/tx-type-links.md' %}
{% include '_snippets/rippled_versions.md' %}

View File

@@ -0,0 +1,28 @@
---
html: nft-storage.html
parent: non-fungible-tokens.html
blurb: NFTのペイロードのストレージオプション。
labels:
- 非代替性トークン, NFT
---
# NFTペイロードのストレージ
NFTはブロックチェーン上で作成されます。しかし、メディア、メタデータ、属性を含むNFTのコンテンツは、XRP Ledger上、XRP Ledger外の分散型、XRP Ledger外の中央集権型など、様々な方法で保存することができます。
## XRP Ledger上
データが256バイトより小さい場合は、`data://`URIを使用し、URIフィールドに直接埋め込むことを検討することができます。これには、信頼性が高く、永続的で、応答性の高いデータベースにデータを保存できるという利点があります。
## 分散型, XRP Ledger外
NFTのメタデータには、既存の分散ストレージソリューションを使用できます。
IPFSやArweaveは分散化ソリューションを提供しています。しかし、メタデータの効率的なフェッチが問題になることがあります。IPFSやArweaveに直接クエリしてメタデータをフェッチするのは、高品質なメディアを含むNFTの複数ページをスクロールするユーザからのすばやいレスポンスを必要とする最新のウェブサイトには十分な速度ではありません。
クラウドストレージソリューションの例については、ブログポスト[NFT Payload Storage Options](https://dev.to/ripplexdev/nft-payload-storage-options-569i)をご覧ください。
## 中央集権型, XRP Ledger外
URIフィールドを使用して、ペイロードが提供されるWebサーバを指定できます。
別の方法として、レジャー上のスペースを節約するために、`AccountSet`を使用して発行者の`Domain`フィールドを設定し、トークンのNFT IDをそのドメイン上のパスとして扱うこともできます。例えば、NFTのIDが`123ABC`で、発行者のドメインが`example.com`の場合、ペイロードは`example.com/tokens/123ABC`から送信されます。

View File

@@ -0,0 +1,341 @@
---
html: nft_history.html
parent: clio-methods.html
blurb: Clioサーバの`nft_history`API を使用して、指定した NFT の所有権と移動の履歴を取得します。
labels:
- 非代替性トークン, NFT
---
# nft_history
[[ソース]](https://github.com/XRPLF/clio/blob/4a5cb962b6971872d150777881801ce27ae9ed1a/src/rpc/handlers/NFTHistory.cpp "ソース")
`nft_history`コマンドはクエリ対象の[NFT](non-fungible-tokens.html)の過去のトランザクションメタデータをClioサーバに問い合わせます。[新規: Clio v1.1.0](https://github.com/XRPLF/clio/releases/tag/1.1.0 "BADGE_BLUE")
**注記** `nft_history`はNFTに関連する成功したトランザクションのみを返します。
## リクエストのフォーマット
リクエストフォーマットの例:
<!-- MULTICODE_BLOCK_START -->
*WebSocket*
```json
{
"id": 1,
"command": "nft_history",
"nft_id": "00080000B4F4AFC5FBCBD76873F18006173D2193467D3EE70000099B00000000"
}
```
*JSON-RPC*
```json
{
"method": "nft_history",
"params": [
{
"nft_id": "00080000B4F4AFC5FBCBD76873F18006173D2193467D3EE70000099B00000000"
}
]
}
```
<!-- MULTICODE_BLOCK_END -->
<!-- To DO: Add an example command to the assets/js/apitool-methods-ws.js file. The WebSocket Tool requires access to a publicly available Clio server.
[試してみる >](websocket-api-tool.html#nft_history)-->
リクエストには以下のパラメーターが含まれます。
| `Field` | 型 | 説明 |
|:-------------------|:-----------------------|:-------------------------------|
| `nft_id` | 文字列 | 非代替性トークン(NFT)の一意の識別子。 |
| `ledger_index_min` | 整数 | _(省略可)_ NFTを含む最も古いレジャーを指定します。値`-1`を指定すると、検証済みの最も古いレジャーのバージョンを使用するようにサーバに指示します。 |
| `ledger_index_max` | 整数 | _(省略可)_ NFTを含める最新のレジャーを指定します。値`-1`を指定すると、利用可能な最新の有効なレジャーのバージョンを使用するようにサーバに指示します。 |
| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーのバージョンを示す20バイトの16進文字列。[レジャーの指定][]をご覧ください)。 |
| `ledger_index` | 文字列 または 符号なし整数 | _(省略可)_ 使用するレジャーの[レジャーインデックス][]あるいは、レジャーを自動的に選択するためのショートカット文字列。 `ledger_index``closed``current`を指定しないでください。指定した場合、P2Pの`rippled`サーバにリクエストが転送されますが、`nft_history`APIは`rippled`では利用できません。[レジャーの指定][]をご覧ください)。 |
| `binary` | 真偽値 | _(省略可)_ デフォルトは`false``true`に設定すると、トランザクションをJSONではなく16進数の文字列で返します。 |
| `forward` | 真偽値 | _(省略可)_ デフォルトは`false``true`に設定すると、最も古いレジャーからインデックスを付けて返します。そうでない場合は、新しいレジャーからインデックスが付けられます。(結果の各ページは内部的には順序付けされていないかもしれませんが、ページ全体としては順序付けされています)。 |
| `limit` | UInt32 | _(省略可)_ 取得するNFTの数を制限します。サーバはこの値を守る必要はありません。 |
| `marker` | マーカー | 以前のページ分割されたレスポンスの値。そのレスポンスが終了したところからデータの取得を再開します。サーバで使用可能なレジャーの範囲が変更された場合、この値は変化する可能性があります。"検証済み"レジャーを照会している場合、ページング中に新しいNFTが作成される可能性があります。 |
**注記** レジャーのバージョンを指定しない場合、Clioは検証済みの最新のレジャーを使用します。
## レスポンスのフォーマット
処理が成功したレスポンスの例:
<!-- MULTICODE_BLOCK_START -->
*WebSocket*
```json
{
"id": 0,
"type": "response",
"result": {
"ledger_index_min": 21377274,
"ledger_index_max": 27876163,
"transactions": [
{
"meta": {
"AffectedNodes": [
{
"CreatedNode": {
"LedgerEntryType": "NFTokenPage",
"LedgerIndex": "97707A94B298B50334C39FB46E245D4744C0F5B5FFFFFFFFFFFFFFFFFFFFFFFF",
"NewFields": {
"NFTokens": [
{
"NFToken": {
"NFTokenID": "0008271097707A94B298B50334C39FB46E245D4744C0F5B50000099B00000000",
"URI": "697066733A2F2F62616679626569676479727A74357366703775646D37687537367568377932366E6634646675796C71616266336F636C67747179353566627A6469"
}
}
]
}
}
},
{
"ModifiedNode": {
"FinalFields": {
"Account": "rNoj836fhDm1eXaHHefPKs7iDb4gwzS7nc",
"Balance": "999999988",
"Flags": 0,
"MintedNFTokens": 1,
"OwnerCount": 1,
"Sequence": 27876155
},
"LedgerEntryType": "AccountRoot",
"LedgerIndex": "AC0A2AD29B67B5E6DA1C5DE696440F59BCD8DEA0A4CF7AFD683D1489AAB1ED24",
"PreviousFields": {
"Balance": "1000000000",
"OwnerCount": 0,
"Sequence": 27876154
},
"PreviousTxnID": "B483F0F7100658380E42BCF1B15AD59B71C4082635AD53B78D08A5198BBB6939",
"PreviousTxnLgrSeq": 27876154
}
}
],
"TransactionIndex": 0,
"TransactionResult": "tesSUCCESS"
},
"tx": {
"Account": "rNoj836fhDm1eXaHHefPKs7iDb4gwzS7nc",
"Fee": "12",
"Flags": 8,
"LastLedgerSequence": 27876176,
"NFTokenTaxon": 0,
"Sequence": 27876154,
"SigningPubKey": "EDDC20C6791F9FB13AFDCE2C717BE8779DD451BB556243F1FDBAA3CD159D68A9F6",
"TransactionType": "NFTokenMint",
"TransferFee": 10000,
"TxnSignature": "EF657AB47E86FDC112BA054D90587DFE64A61604D9EDABAA7B01B61B56433E3C2AC5BF5AD2E8F5D2A9EAC22778F289094AC383A3F172B2304157A533E0C79802",
"URI": "697066733A2F2F62616679626569676479727A74357366703775646D37687537367568377932366E6634646675796C71616266336F636C67747179353566627A6469",
"hash": "E0774E1B8628E397C6E88F67D4424E55E4C81324607B19318255310A6FBAA4A2",
"ledger_index": 27876158,
"date": 735167200
},
"validated": true
}
],
"nft_id": "0008271097707A94B298B50334C39FB46E245D4744C0F5B50000099B00000000",
"validated": true
},
"warnings": [
{
"id": 2001,
"message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request"
}
]
}
```
*JSON-RPC*
```json
{
"result": {
"ledger_index_min": 21377274,
"ledger_index_max": 27876163,
"transactions": [
{
"meta": {
"AffectedNodes": [
{
"CreatedNode": {
"LedgerEntryType": "NFTokenPage",
"LedgerIndex": "97707A94B298B50334C39FB46E245D4744C0F5B5FFFFFFFFFFFFFFFFFFFFFFFF",
"NewFields": {
"NFTokens": [
{
"NFToken": {
"NFTokenID": "0008271097707A94B298B50334C39FB46E245D4744C0F5B50000099B00000000",
"URI": "697066733A2F2F62616679626569676479727A74357366703775646D37687537367568377932366E6634646675796C71616266336F636C67747179353566627A6469"
}
}
]
}
}
},
{
"ModifiedNode": {
"FinalFields": {
"Account": "rNoj836fhDm1eXaHHefPKs7iDb4gwzS7nc",
"Balance": "999999988",
"Flags": 0,
"MintedNFTokens": 1,
"OwnerCount": 1,
"Sequence": 27876155
},
"LedgerEntryType": "AccountRoot",
"LedgerIndex": "AC0A2AD29B67B5E6DA1C5DE696440F59BCD8DEA0A4CF7AFD683D1489AAB1ED24",
"PreviousFields": {
"Balance": "1000000000",
"OwnerCount": 0,
"Sequence": 27876154
},
"PreviousTxnID": "B483F0F7100658380E42BCF1B15AD59B71C4082635AD53B78D08A5198BBB6939",
"PreviousTxnLgrSeq": 27876154
}
}
],
"TransactionIndex": 0,
"TransactionResult": "tesSUCCESS"
},
"tx": {
"Account": "rNoj836fhDm1eXaHHefPKs7iDb4gwzS7nc",
"Fee": "12",
"Flags": 8,
"LastLedgerSequence": 27876176,
"NFTokenTaxon": 0,
"Sequence": 27876154,
"SigningPubKey": "EDDC20C6791F9FB13AFDCE2C717BE8779DD451BB556243F1FDBAA3CD159D68A9F6",
"TransactionType": "NFTokenMint",
"TransferFee": 10000,
"TxnSignature": "EF657AB47E86FDC112BA054D90587DFE64A61604D9EDABAA7B01B61B56433E3C2AC5BF5AD2E8F5D2A9EAC22778F289094AC383A3F172B2304157A533E0C79802",
"URI": "697066733A2F2F62616679626569676479727A74357366703775646D37687537367568377932366E6634646675796C71616266336F636C67747179353566627A6469",
"hash": "E0774E1B8628E397C6E88F67D4424E55E4C81324607B19318255310A6FBAA4A2",
"ledger_index": 27876158,
"date": 735167200
},
"validated": true
}
],
"nft_id": "0008271097707A94B298B50334C39FB46E245D4744C0F5B50000099B00000000",
"validated": true
},
"warnings": [
{
"id": 2001,
"message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request"
}
]
}
```
<!-- MULTICODE_BLOCK_END -->
`binary`パラメータを_true_に設定すると、16進数文字列を使用したコンパクトなレスポンスを受け取ります。人間が読めるものではありませんが、より簡潔です。
<!-- MULTICODE_BLOCK_START -->
*WebSocket*
```json
{
"id": 0,
"type": "response",
"result": {
"ledger_index_min": 21377274,
"ledger_index_max": 27876275,
"transactions": [
{
"meta": "201C00000000F8E31100505697707A94B298B50334C39FB46E245D4744C0F5B5FFFFFFFFFFFFFFFFFFFFFFFFE8FAEC5A0008271097707A94B298B50334C39FB46E245D4744C0F5B50000099B000000007542697066733A2F2F62616679626569676479727A74357366703775646D37687537367568377932366E6634646675796C71616266336F636C67747179353566627A6469E1F1E1E1E51100612501A95B3A55B483F0F7100658380E42BCF1B15AD59B71C4082635AD53B78D08A5198BBB693956AC0A2AD29B67B5E6DA1C5DE696440F59BCD8DEA0A4CF7AFD683D1489AAB1ED24E62401A95B3A2D0000000062400000003B9ACA00E1E722000000002401A95B3B2D00000001202B0000000162400000003B9AC9F4811497707A94B298B50334C39FB46E245D4744C0F5B5E1E1F1031000",
"tx_blob": "12001914271022000000082401A95B3A201B01A95B50202A0000000068400000000000000C7321EDDC20C6791F9FB13AFDCE2C717BE8779DD451BB556243F1FDBAA3CD159D68A9F67440EF657AB47E86FDC112BA054D90587DFE64A61604D9EDABAA7B01B61B56433E3C2AC5BF5AD2E8F5D2A9EAC22778F289094AC383A3F172B2304157A533E0C798027542697066733A2F2F62616679626569676479727A74357366703775646D37687537367568377932366E6634646675796C71616266336F636C67747179353566627A6469811497707A94B298B50334C39FB46E245D4744C0F5B5",
"ledger_index": 27876158,
"date": 735167200,
"validated": true
}
],
"nft_id": "0008271097707A94B298B50334C39FB46E245D4744C0F5B50000099B00000000",
"validated": true
},
"warnings": [
{
"id": 2001,
"message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request"
}
]
}
```
*JSON-RPC*
```json
{
"result": {
"ledger_index_min": 21377274,
"ledger_index_max": 27876275,
"transactions": [
{
"meta": "201C00000000F8E31100505697707A94B298B50334C39FB46E245D4744C0F5B5FFFFFFFFFFFFFFFFFFFFFFFFE8FAEC5A0008271097707A94B298B50334C39FB46E245D4744C0F5B50000099B000000007542697066733A2F2F62616679626569676479727A74357366703775646D37687537367568377932366E6634646675796C71616266336F636C67747179353566627A6469E1F1E1E1E51100612501A95B3A55B483F0F7100658380E42BCF1B15AD59B71C4082635AD53B78D08A5198BBB693956AC0A2AD29B67B5E6DA1C5DE696440F59BCD8DEA0A4CF7AFD683D1489AAB1ED24E62401A95B3A2D0000000062400000003B9ACA00E1E722000000002401A95B3B2D00000001202B0000000162400000003B9AC9F4811497707A94B298B50334C39FB46E245D4744C0F5B5E1E1F1031000",
"tx_blob": "12001914271022000000082401A95B3A201B01A95B50202A0000000068400000000000000C7321EDDC20C6791F9FB13AFDCE2C717BE8779DD451BB556243F1FDBAA3CD159D68A9F67440EF657AB47E86FDC112BA054D90587DFE64A61604D9EDABAA7B01B61B56433E3C2AC5BF5AD2E8F5D2A9EAC22778F289094AC383A3F172B2304157A533E0C798027542697066733A2F2F62616679626569676479727A74357366703775646D37687537367568377932366E6634646675796C71616266336F636C67747179353566627A6469811497707A94B298B50334C39FB46E245D4744C0F5B5",
"ledger_index": 27876158,
"date": 735167200,
"validated": true
}
],
"nft_id": "0008271097707A94B298B50334C39FB46E245D4744C0F5B50000099B00000000",
"validated": true
},
"warnings": [
{
"id": 2001,
"message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request"
}
]
}
```
<!-- MULTICODE_BLOCK_END -->
このレスポンスは[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。
| `Field` | 型 | 説明 |
|:-------------------|:----------------------------|:---------------------------|
| `nft_id` | 文字列 | 非代替性トークン(NFT)の一意の識別子。 |
| `ledger_index_min` | 整数 - [レジャーインデックス][] | 実際にトランザクションを検索した最も古いレジャーのレジャーインデックス。 |
| `ledger_index_max` | 整数 - [レジャーインデックス][] | 実際にトランザクションを検索した最新のレジャーのレジャーインデックス。 |
| `limit` | 整数 | リクエストで使われる`limit`の値。(これはサーバによって強制される実際の値とは異なるかもしれません)。 |
| `marker` | [マーカー][] | レスポンスがページ分割されていることを示す、サーバ定義の値。この値を次の呼び出しに渡すと、この呼び出しが中断したところから再開します。 |
| `transactions` | 配列 | 以下に説明するように、リクエストの条件に一致するトランザクションの配列。 |
| `validated` | 真偽値 | レスポンスに含まれ、`true`に設定されている場合、このレスポンスの情報は検証済みのレジャーのバージョンに基づきます。`false`の場合、情報は変更される可能性があります。 |
**注記:** 例えば、指定したバージョンが手元にない場合、サーバはリクエストで指定した値とは異なる`ledger_index_min``ledger_index_max`を返すことがあります。
各トランザクションオブジェクトは、JSONまたは16進文字列(`"binary":true`)のどちらの形式でリクエストされたかに応じて、以下のフィールドを含みます。
| `Field` | 型 | 説明 |
|:---------------|:-------------------------------------|:-------------------------|
| `ledger_index` | 整数 | このトランザクションを含むレジャーバージョンの[レジャーインデックス][]。 |
| `meta` | オブジェクト(JSON) または 文字列(バイナリ) | `binary``true`の場合、トランザクションメタデータの16文字列が格納されます。`false`の場合は、トランザクションメタデータがJSON 形式で格納されます。 |
| `tx` | オブジェクト | (JSONのみ) トランザクションを定義するJSONオブジェクト |
| `tx_blob` | 文字列 | (Binaryのみ) トランザクションを表す一意のハッシュ化された文字列。 |
| `validated` | 真偽値 | トランザクションが検証済みレジャーに含まれているかどうか。まだ有効なレジャーに含まれていないトランザクションは、変更される可能性があります。 |
`tx`オブジェクトで返されるフィールドの定義については、[トランザクションメタデータ](transaction-metadata.html)をご覧ください。
## 考えられるエラー
* いずれかの[汎用エラータイプ][]。
* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。
* `actMalformed` - リクエストの`account`フィールドに指定した[アドレス][]が、正しいフォーマットではありません。
* `lgrIdxMalformed` - `ledger_index_min`または`ledger_index_max`で指定されたレジャーが存在しないか、存在してもサーバに保存されていません。
* `lgrIdxsInvalid` - リクエストが`ledger_index_min`よりも前の`ledger_index_max`を指定しているか、サーバが[ネットワークと同期していない](server-doesnt-sync.html)ために有効なレジャー範囲を持っていません。
{% include '_snippets/rippled_versions.md' %}
{% include '_snippets/rippled-api-links.md' %}

View File

@@ -0,0 +1,150 @@
---
html: nft_info.html
parent: clio-methods.html
blurb: Clioサーバの`nft_info`APIを使用して、指定したNFTに関する情報を取得します。
labels:
- 非代替性トークン, NFT
---
# nft_info
[[ソース]](https://github.com/XRPLF/clio/blob/4a5cb962b6971872d150777881801ce27ae9ed1a/src/rpc/handlers/NFTInfo.cpp "ソース")
`nft_info`コマンドはクエリ対象の[NFT](non-fungible-tokens.html)に関する情報をClioサーバに問い合わせます。[新規: Clio v1.1.0](https://github.com/XRPLF/clio/releases/tag/1.1.0 "BADGE_BLUE")
## リクエストのフォーマット
リクエストフォーマットの例:
<!-- MULTICODE_BLOCK_START -->
*WebSocket*
```json
{
"id": 1,
"command": "nft_info",
"nft_id": "00080000B4F4AFC5FBCBD76873F18006173D2193467D3EE70000099B00000000"
}
```
*JSON-RPC*
```json
{
"method": "nft_info",
"params": [
{
"nft_id": "00080000B4F4AFC5FBCBD76873F18006173D2193467D3EE70000099B00000000"
}
]
}
```
<!-- MULTICODE_BLOCK_END -->
<!-- To DO: Add an example command to the assets/js/apitool-methods-ws.js file. The WebSocket Tool requires access to a publicly available Clio server.
[試してみる >](websocket-api-tool.html#nft_info)-->
リクエストには以下のパラメーターが含まれます。
| `Field` | 型 | 説明 |
|:---------------|:-----------------------|:-----------------------|
| `nft_id` | 文字列 | 非代替性トークン(NFT)の一意の識別子。 |
| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーのバージョンを示す20バイトの16進文字列。[レジャーの指定][]をご覧ください)。 |
| `ledger_index` | 文字列 または 符号なし整数 | _(省略可)_ 使用するレジャーの[レジャーインデックス][]あるいは、レジャーを自動的に選択するためのショートカット文字列。`ledger_index``closed``current`を指定しないでください。指定した場合、P2Pの`rippled`サーバにリクエストが転送されますが、`nft_info`APIは`rippled`では利用できません。[レジャーの指定][]をご覧ください)。 |
レジャーのバージョンを指定しない場合、Clioは検証済みの最新のレジャーを使用します。
## レスポンスのフォーマット
処理が成功したレスポンスの例:
<!-- MULTICODE_BLOCK_START -->
*WebSocket*
```json
{
"id": 1,
"result": {
"nft_id": "00080000B4F4AFC5FBCBD76873F18006173D2193467D3EE70000099B00000000",
"ledger_index": 270,
"owner": "rG9gdNygQ6npA9JvDFWBoeXbiUcTYJnEnk",
"is_burned": true,
"flags": 8,
"transfer_fee": 0,
"issuer": "rHVokeuSnjPjz718qdb47bGXBBHNMP3KDQ",
"nft_taxon": 0,
"nft_sequence": 0,
"validated": true
},
"status": "success",
"type": "response",
"warnings": [
{
"id": 2001,
"message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include ledger_index:current in your request"
},
{
"id": 2002,
"message": "This server may be out of date"
}
]
}
```
*JSON-RPC*
```json
{
"result": {
"nft_id": "00080000B4F4AFC5FBCBD76873F18006173D2193467D3EE70000099B00000000",
"ledger_index": 269,
"owner": "rG9gdNygQ6npA9JvDFWBoeXbiUcTYJnEnk",
"is_burned": false,
"flags": 8,
"transfer_fee": 0,
"issuer": "rHVokeuSnjPjz718qdb47bGXBBHNMP3KDQ",
"nft_taxon": 0,
"nft_sequence": 0,
"uri": "https://xrpl.org",
"validated": true,
"status": "success"
},
"warnings": [
{
"id": 2001,
"message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request"
},
{
"id": 2002,
"message": "This server may be out of date"
}
]
}
```
<!-- MULTICODE_BLOCK_END -->
レスポンスは[標準フォーマット][] に従い、成功すると以下のフィールドをいくつか並べた`nft_info`レスポンスオブジェクトが返されます。
| `Field` | 型 | 説明 |
|:----------------------------------|:-------------------|:---------------------|
| `nft_id` | 文字列 | 非代替性トークン(NFT)の一意の識別子。 |
| `ledger_index` | 整数 | NFT がミント(作成)された、所有者が変わった(取引された)、バーンされた(破棄された)など、このNFTの状態が変更された最新のレジャーバージョンの[レジャーインデックス][]。返される情報には、リクエストされたレジャーと比較して直近に起こったことが含まれます。 |
| `owner` | 文字列 | このレジャーインデックスにおけるこのNFTの所有者のアカウントID。 |
| `is_burned` | 真偽値 | NFTがこのレジャーでバーンされていれば`true`を、そうでなければ`false`を返します。 |
| `flags ` | 整数 | このNFTのフラグ |
| `transfer_fee` | 整数 | このNFTの送金手数料。送金手数料の詳細については、[NFTokenMintのフィールド](nftokenmint.html#nftokenmint-フィールド)をご覧ください。 |
| `issuer` | 文字列 | このNFTの発行者を示すアカウントID。|
| `nft_taxon` | 整数 | このNFTのTaxon。 |
| `nft_sequence` | 整数 | このNFTのシーケンス番号. |
| `uri` | 文字列 または `null` | _(NFTがこのレジャーでバーンされている場合は省略)_ NFTがこのレジャーでバーンされておらず、URIを持っていない場合、このフィールドは`null`です。NFTがこのレジャーでバーンされておらず、URIを持っている場合、このフィールドはNFTのデコードされたURIを含む文字列です。注意: バーンされたトークンのURIを取得する必要がある場合、トークンの`nft_info`をリクエストし直してください。その際、`ledger_index`にはトークンがバーンされたインデックスの一つ前({_トークンがバーンされたレジャーインデックス_} - 1を指定してください。 |
## 考えられるエラー
* いずれかの[汎用エラータイプ][]。
<!--{# common link defs #}-->
{% include '_snippets/rippled-api-links.md' %}
{% include '_snippets/rippled_versions.md' %}

View File

@@ -0,0 +1,134 @@
---
html: nft_buy_offers.html
parent: path-and-order-book-methods.html
blurb: NFTokenに対するすべての購入オファーのリストを取得します。
labels:
- 非代替性トークン, NFT, NFToken
---
# nft_buy_offers
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/rpc/handlers/NFTOffers.cpp "ソース")
`nft_buy_offers`メソッドは、与えられた[NFToken][]オブジェクトに対する購入オファーのリストを返します。
_([NonFungibleTokensV1_1 amendment][]により追加されました。)_
## リクエストのフォーマット
リクエストフォーマットの例:
{% include '_snippets/no-cli-syntax.ja.md' %}
<!-- MULTICODE_BLOCK_START -->
*WebSocket*
```json
{
"command": "nft_buy_offers",
"nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007",
"ledger_index": "validated"
}
```
*JSON-RPC*
```json
{
"method": "nft_buy_offers",
"params": [{
"nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007",
"ledger_index": "validated"
}]
}
```
<!-- MULTICODE_BLOCK_END -->
[試してみる >](websocket-api-tool.html#nft_buy_offers)
リクエストには以下のパラメーターが含まれます。
| `Field` | 型 | 説明 |
|:---------------|:-----------------|:-----------------------------------------|
| `nft_id` | 文字列 | [NFToken][] オブジェクトの一意の識別子。 |
| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーのバージョンを示す20バイトの16進文字列。[レジャーの指定][]をご覧ください)。 |
| `ledger_index` | 文字列 または 数値 | _(省略可)_ 使用するレジャーの[レジャーインデックス][]、またはレジャーを自動的に選択するためのショートカット文字列。[レジャーの指定][]をご覧ください)。 |
| `limit` | 整数値 | _(省略可)_ 取得するNFTの購入オファーの数を制限します。この値は50未満または500を超えることはできません。この範囲外の正の値は、最も近い有効な値に置き換えられます。デフォルトは250です。 |
| `marker` | [マーカー][] | _(省略可)_ 以前のページ分割されたレスポンスの値。そのレスポンスが終了したところからデータの取得を再開します。 |
## レスポンスのフォーマット
処理が成功したレスポンスの例:
<!-- MULTICODE_BLOCK_START -->
*WebSocket*
```json
{
"result": {
"nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007",
"offers": [
{
"amount": "1500",
"flags": 0,
"nft_offer_index": "3212D26DB00031889D4EF7D9129BB0FA673B5B40B1759564486C0F0946BA203F",
"owner": "rsuHaTvJh1bDmDoxX9QcKP7HEBSBt4XsHx"
}
]
},
"status": "success",
"type": "response"
}
```
*JSON-RPC*
```json
{
"result": {
"nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007",
"offers": [
{
"amount": "1500",
"flags": 0,
"nft_offer_index": "3212D26DB00031889D4EF7D9129BB0FA673B5B40B1759564486C0F0946BA203F",
"owner": "rsuHaTvJh1bDmDoxX9QcKP7HEBSBt4XsHx"
}
],
"status": "success"
}
}
```
<!-- MULTICODE_BLOCK_END -->
このレスポンスは[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。
| `Field` | 型 | 説明 |
|:---------|:-----------|:-----------------------------------------------------|
| `nft_id` | 文字列 | リクエストで指定された NFToken |
| `offers` | 配列 | トークンの購入オファー一覧。各オファーは **購入オファー** (下記参照)の形式で表示されます。 |
| `limit` | 数値 | _(省略可)_ リクエストで指定された`limit`。 |
| `marker` | [マーカー][] | _(省略可)_ レスポンスがページ分割されていることを示す、サーバ定義の値。これを次の呼び出しに渡すと、この呼び出しが中断したところから再開します。この後に情報のページがない場合は省略されます。 |
### 購入オファー
`offers`配列の各メンバーは、対象のNFTを購入するための1つの[NFTokenOfferオブジェクト][]を表し、以下のフィールドを持ちます。
| `Field` | 型 | 説明 |
|:------------------|:-----------------------|:--------------------------------------|
| `amount` | 文字列 または オブジェクト | NFTを購入するために提示される金額で、XRPのドロップ数を表す文字列、または(代替可能)トークンの金額を表すオブジェクトです。([通貨金額の指定][通貨額]をご覧ください)。 |
| `flags` | 数値 | このオファーのためのフラグ。指定できる値については、[NFTokenOfferのフラグ](nftokenoffer.html#nftokenofferのフラグ)をご覧ください。 |
| `nft_offer_index` | 文字列 | このオファーの[レジャーオブジェクトID](ledger-object-ids.html)。 |
| `owner` | 文字列 | このオファーを作成アカウント。 |
## 考えられるエラー
* いずれかの[汎用エラータイプ][]。
* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。
* `actNotFound` - リクエストの`account`フィールドに指定されているアドレスが、レジャーのアカウントに対応していません。
* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。
{% include '_snippets/rippled_versions.md' %}
{% include '_snippets/rippled-api-links.md' %}

View File

@@ -0,0 +1,135 @@
---
html: nft_sell_offers.html
parent: path-and-order-book-methods.html
blurb: NFTokenに対するすべての売却オファーのリストを取得します。
labels:
- 非代替性トークン, NFT, NFToken
---
# nft_sell_offers
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/rpc/handlers/NFTOffers.cpp "ソース")
`nft_sell_offers`メソッドは、与えられた[NFToken][]オブジェクトに対する売却オファーのリストを返します。
_([NonFungibleTokensV1_1 amendment][]により追加されました。)_
## リクエストのフォーマット
リクエストフォーマットの例:
{% include '_snippets/no-cli-syntax.ja.md' %}
<!-- MULTICODE_BLOCK_START -->
*WebSocket*
```json
{
"command": "nft_sell_offers",
"nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007",
"ledger_index": "validated"
}
```
*JSON-RPC*
```json
{
"method": "nft_sell_offers",
"params": [
{
"nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007"
}
]
}
```
<!-- MULTICODE_BLOCK_END -->
[試してみる >](websocket-api-tool.html#nft_sell_offers)
リクエストには以下のパラメーターが含まれます。
| `Field` | 型 | 説明 |
|:---------------|:-----------------|:-----------------------------------------|
| `nft_id` | 文字列 | [NFToken][] オブジェクトの一意の識別子。 |
| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーのバージョンを示す20バイトの16進文字列。[レジャーの指定][]をご覧ください)。 |
| `ledger_index` | 文字列 または 数値 | _(省略可)_ 使用するレジャーの[レジャーインデックス][]、またはレジャーを自動的に選択するためのショートカット文字列。[レジャーの指定][]をご覧ください)。 |
| `limit` | 整数値 | _(省略可)_ 取得するNFTの売却オファーの数を制限します。この値は50未満または500を超えることはできません。この範囲外の正の値は、最も近い有効な値に置き換えられます。デフォルトは250です。 |
| `marker` | [マーカー][] | _(省略可)_ 以前のページ分割されたレスポンスの値。そのレスポンスが終了したところからデータの取得を再開します。 |
## レスポンスのフォーマット
処理が成功したレスポンスの例:
<!-- MULTICODE_BLOCK_START -->
*WebSocket*
```json
{
"result": {
"nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007",
"offers": [
{
"amount": "1000",
"flags": 1,
"nft_offer_index": "9E28E366573187F8E5B85CE301F229E061A619EE5A589EF740088F8843BF10A1",
"owner": "rLpSRZ1E8JHyNDZeHYsQs1R5cwDCB3uuZt"
}
]
},
"status": "success",
"type": "response"
}
```
*JSON-RPC*
```json
{
"result": {
"nft_id": "00090000D0B007439B080E9B05BF62403911301A7B1F0CFAA048C0A200000007",
"offers": [
{
"amount": "1000",
"flags": 1,
"nft_offer_index": "9E28E366573187F8E5B85CE301F229E061A619EE5A589EF740088F8843BF10A1",
"owner": "rLpSRZ1E8JHyNDZeHYsQs1R5cwDCB3uuZt"
}
],
"status": "success"
}
}
```
<!-- MULTICODE_BLOCK_END -->
このレスポンスは[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。
| `Field` | 型 | 説明 |
|:---------|:-----------|:-----------------------------------------------------|
| `nft_id` | 文字列 | リクエストで指定された NFToken |
| `offers` | 配列 | トークンの売却オファー一覧。各オファーは **売却オファー** (下記参照)の形式で表示されます。 |
| `limit` | 数値 | _(省略可)_ リクエストで指定された`limit`。 |
| `marker` | [マーカー][] | _(省略可)_ レスポンスがページ分割されていることを示す、サーバ定義の値。これを次の呼び出しに渡すと、この呼び出しが中断したところから再開します。この後に情報のページがない場合は省略されます。 |
### 売却オファー
`offers`配列の各メンバーは、対象のNFTを売却するための1つの[NFTokenOfferオブジェクト][]を表し、以下のフィールドを持ちます。
| `Field` | 型 | 説明 |
|:------------------|:-----------------------|:--------------------------------------|
| `amount` | 文字列 または オブジェクト | NFTを売却するために提示される金額で、XRPのドロップ数を表す文字列、または(代替可能)トークンの金額を表すオブジェクトです。([通貨金額の指定][通貨額]をご覧ください)。 |
| `flags` | 数値 | このオファーのためのフラグ。指定できる値については、[NFTokenOfferのフラグ](nftokenoffer.html#nftokenofferのフラグ)をご覧ください。 |
| `nft_offer_index` | 文字列 | このオファーの[レジャーオブジェクトID](ledger-object-ids.html)。 |
| `owner` | 文字列 | このオファーを作成アカウント。 |
## 考えられるエラー
* いずれかの[汎用エラータイプ][]。
* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。
* `actNotFound` - リクエストの`account`フィールドに指定されているアドレスが、レジャーのアカウントに対応していません。
* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。
{% include '_snippets/rippled_versions.md' %}
{% include '_snippets/rippled-api-links.md' %}

View File

@@ -3,7 +3,7 @@ html: nftoken.html
parent: basic-data-types.html
blurb: XRPL NFTの紹介
labels:
- Non-fungible Tokens, NFTs
- 非代替性トークン, NFT
---
# NFToken

View File

@@ -47,7 +47,7 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました)_
#### NFTokenOffer フラグ
#### NFTokenOfferフラグ
|フラグ名 |16進数値 |10進数値|説明 |
|------------------|--------------|------|---------|

View File

@@ -45,12 +45,12 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました)_
|:--------------|:--------------------|:------------------|:-------------------|
| `NFTokenTaxon` | 数値 | UInt32 | トークンに関連する分類群。Taxonは通常、トークンの発行者が選択した値です。1つのTaxonは複数のトークンに使用することができます。`0xFFFFFFFF`より大きいTaxonの識別子は使用できません。 |
| `Issuer` | 文字列 | AccountID | _(省略可)_ 送信元アカウントが他のアカウントの代理としてトークンを発行する場合における、トークンの発行者。トランザクションを送信するアカウントが `NFToken` の発行者である場合、このフィールドは指定してはいけません。指定される場合、発行者の[AccountRootオブジェクト][]には `NFTokenMinter` フィールドが、このトランザクションの送信者(このトランザクションの`Account`フィールド)に設定されていなければなりません。 |
| `TransferFee` | 数値 | UInt16 | _(省略可)_ この値は、`NFToken`の二次販売が許可されている場合に、発行者が徴収する手数料を指定します。このフィールドの有効な値は0から50000の間で、0.001刻みで0.00%から50.00%の送金手数料を設定することができます。このフィールドが設定されている場合、トランザクションは[`tfTransferable`フラグ](#nftokenmintフラグ) を有効にしなければなりません。 |
| `TransferFee` | 数値 | UInt16 | _(省略可)_ この値は、`NFToken`の二次販売が許可されている場合に、発行者が徴収する手数料を指定します。このフィールドの有効な値は0から50000の間で、0.001刻みで0.00%から50.00%の送金手数料を設定することができます。このフィールドが設定されている場合、トランザクションは[`tfTransferable`フラグ](#nftokenmintフラグ) を有効にしなければなりません。 |
| `URI` | 文字列 | Blob | _(省略可)_ 最大256バイトの任意のデータ。JSONでは、16進数の文字列としてエンコードされる必要があります。URIを16進数に変換するために、[`xrpl.convertStringToHex`](https://js.xrpl.org/modules.html#convertStringToHex)ユーティリティを使用することができます。これは、NFTに関連するデータまたはメタデータを指し示すURIであることを想定しています。コンテンツは、HTTPまたはHTTPS URL、IPFS URI、マグネットリンク、[RFC2379 "data" URL](https://datatracker.ietf.org/doc/html/rfc2397) としてエンコードされた即値データ、あるいは発行者固有のエンコーディングにデコードされていることがあります。URIの有効性はチェックされません。 |
## NFTokenMintフラグ
## NFTokenMintフラグ
NFTokenMint型のトランザクションでは、以下のように[`Flags`フィールド](transaction-common-fields.html#flagsフィールド)に追加の値を設定することが可能です。