mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-21 12:15:50 +00:00
NFT method fixes
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
---
|
||||
html: account_nfts.html
|
||||
parent: nft-methods.html
|
||||
parent: account-methods.html
|
||||
blurb: Get a list of all NFTs for an account.
|
||||
labels:
|
||||
- Non-fungible Tokens, NFTs
|
||||
status: not_enabled
|
||||
---
|
||||
# account_nfts
|
||||
[[Source]](https://github.com/ripple/rippled/blob/master/src/ripple/rpc/handlers/AccountObjects.cpp "Source")
|
||||
@@ -15,6 +16,8 @@ The `account_nfts` method returns a list of `NFToken` objects for the specified
|
||||
## Request Format
|
||||
An example of the request format:
|
||||
|
||||
{% include '_snippets/no-cli-syntax.md' %}
|
||||
|
||||
<!-- MULTICODE_BLOCK_START -->
|
||||
|
||||
*WebSocket*
|
||||
@@ -50,7 +53,7 @@ The request includes the following parameters:
|
||||
| `account` | String | The unique identifier of an account, typically the account's [Address][]. The request returns a list of NFTs owned by this account. |
|
||||
| `ledger_hash` | String | _(Optional)_ A 20-byte hex string for the ledger version to use. (See [Specifying Ledgers][]) |
|
||||
| `ledger_index` | String or Number | _(Optional)_ The [ledger index][] of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers][]) |
|
||||
| `limit` | Integer | _(Optional)_ Limit the number of [NFTokenPage objects][] to retrieve. Each NFTokenPage can contain up to 32 NFTs. This value cannot be lower than 20 or more than 400. The default is 100. |
|
||||
| `limit` | Integer | _(Optional)_ Limit the number of [token pages][NFTokenPage object] to retrieve. Each page can contain up to 32 NFTs. The `limit` value cannot be lower than 20 or more than 400. The default is 100. |
|
||||
| `marker` | [Marker][] | _(Optional)_ Value from a previous paginated response. Resume retrieving data where that response left off. |
|
||||
|
||||
|
||||
@@ -131,12 +134,25 @@ The response follows the [standard format][], with a successful result containin
|
||||
| `Field` | Type | Description |
|
||||
|:---------------|:-----------------|:-----------------------------------------|
|
||||
| `account` | String | The account that owns the list of NFTs |
|
||||
| `account_nfts` | Array | A list of NFTs owned by the account. Each item is an [NFToken][] object. |
|
||||
| `account_nfts` | Array | A list of NFTs owned by the account, formatted as **NFT Objects** (see below). |
|
||||
| `ledger_hash` | String | (May be omitted) The identifying hash of the ledger that was used to generate this response. |
|
||||
| `ledger_index` | Number - [Ledger Index][] | _(May be omitted)_ The ledger index of the ledger that was used to generate this response. |
|
||||
| `ledger_current_index` | Number - [Ledger Index][] | _(May be omitted)_ The ledger index of the current in-progress ledger version, which was used to generate this response. |
|
||||
| `validated` | Boolean | If included and set to `true`, the information in this response comes from a validated ledger version. Otherwise, the information is subject to change. |
|
||||
|
||||
### NFT Objects
|
||||
|
||||
Each object in the `account_nfts` array represents one [NFToken][] and has the following fields:
|
||||
|
||||
| `Field` | Type | Description |
|
||||
|:---------------|:---------------------|:-------------------------------------|
|
||||
| `Flags` | Number | A bit-map of boolean flags enabled for this NFToken. See [NFToken Flags](nftoken.html#nftoken-flags) for possible values. |
|
||||
| `Issuer` | String - [Address][] | The account that issued this NFToken. |
|
||||
| `NFTokenID` | String | The unique identifier of this NFToken, in hexadecimal. |
|
||||
| `NFTokenTaxon` | Number | The unscrambled version of this token's [taxon](nftoken.html#taxon). Several tokens with the same taxon might represent instances of a limited series. |
|
||||
| `URI` | String | The URI data associated with this NFToken, in hexadecimal. |
|
||||
| `nft_serial` | Number | The token sequence number of this NFToken, which is unique for its issuer. |
|
||||
|
||||
## Possible Errors
|
||||
|
||||
* Any of the [universal error types][].
|
||||
|
||||
@@ -1,20 +1,23 @@
|
||||
---
|
||||
html: nft_buy_offers.html
|
||||
parent: nft-methods.html
|
||||
parent: path-and-order-book-methods.html
|
||||
blurb: Get a list of all buy offers for a NFToken.
|
||||
labels:
|
||||
- Non-fungible Tokens, NFTs, NFTokens
|
||||
status: not_enabled
|
||||
---
|
||||
# nft_buy_offers
|
||||
[[Source]](https://github.com/ripple/rippled/blob/xls20/src/ripple/rpc/handlers/NFTOffers.cpp "Source")
|
||||
|
||||
The `nft_buy_offers` method returns a list of buy offers for a `NFToken` object.
|
||||
The `nft_buy_offers` method returns a list of buy offers for a given [NFToken][] object.
|
||||
|
||||
{% include '_snippets/nfts-disclaimer.md' %}
|
||||
|
||||
## Request Format
|
||||
An example of the request format:
|
||||
|
||||
{% include '_snippets/no-cli-syntax.md' %}
|
||||
|
||||
<!-- MULTICODE_BLOCK_START -->
|
||||
|
||||
*WebSocket*
|
||||
@@ -41,7 +44,7 @@ An example of the request format:
|
||||
|
||||
<!-- MULTICODE_BLOCK_END -->
|
||||
|
||||
[Try it! >](websocket-api-tool.html#nft_sell_offers)
|
||||
[Try it! >](websocket-api-tool.html?server=wss%3A%2F%2Fxls20-sandbox.rippletest.net%3A51233%2F#nft_buy_offers)
|
||||
|
||||
The request includes the following parameters:
|
||||
|
||||
|
||||
@@ -1,19 +1,22 @@
|
||||
---
|
||||
html: nft_sell_offers.html
|
||||
parent: nft-methods.html
|
||||
parent: path-and-order-book-methods.html
|
||||
blurb: Get a list of all sell offers for a NFToken.
|
||||
labels:
|
||||
- Non-fungible Tokens, NFTs, NFTokens
|
||||
status: not_enabled
|
||||
---
|
||||
# nft_sell_offers
|
||||
[[Source]](https://github.com/ripple/rippled/blob/xls20/src/ripple/rpc/handlers/NFTOffers.cpp "Source")
|
||||
{% include '_snippets/nfts-disclaimer.md' %}
|
||||
|
||||
The `nft_sell_offers` method returns a list of sell offers for a `NFToken` object.
|
||||
The `nft_sell_offers` method returns a list of sell offers for a given [NFToken][] object.
|
||||
|
||||
## Request Format
|
||||
An example of the request format:
|
||||
|
||||
{% include '_snippets/no-cli-syntax.md' %}
|
||||
|
||||
<!-- MULTICODE_BLOCK_START -->
|
||||
|
||||
*WebSocket*
|
||||
@@ -37,7 +40,7 @@ An example of the request format:
|
||||
|
||||
<!-- MULTICODE_BLOCK_END -->
|
||||
|
||||
[Try it! >](websocket-api-tool.html#nft_sell_offers)
|
||||
[Try it! >](websocket-api-tool.html?server=wss%3A%2F%2Fxls20-sandbox.rippletest.net%3A51233%2F#nft_sell_offers)
|
||||
|
||||
The request includes the following parameters:
|
||||
|
||||
|
||||
@@ -193,7 +193,7 @@ Report the results.
|
||||
```
|
||||
results += '\n\nTransaction result: '+ tx.result.meta.TransactionResult
|
||||
results += '\n\nnfts: ' + JSON.stringify(nfts, null, 2)
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
(await client.getXrpBalance(standby_wallet.address))
|
||||
document.getElementById('operationalBalanceField').value = results
|
||||
```
|
||||
@@ -268,7 +268,7 @@ Disconnect from the ledger.
|
||||
|
||||
|
||||
|
||||
### Burn Token
|
||||
### Burn Token
|
||||
|
||||
|
||||
```
|
||||
@@ -295,7 +295,7 @@ Connect to the ledger and get the account wallets.
|
||||
```
|
||||
|
||||
|
||||
Define the transaction.
|
||||
Define the transaction.
|
||||
|
||||
|
||||
```
|
||||
@@ -334,7 +334,7 @@ Report the results.
|
||||
results += '\nBalance changes: ' +
|
||||
JSON.stringify(xrpl.getBalanceChanges(tx.result.meta), null, 2)
|
||||
document.getElementById('standbyResultField').value = results
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
(await client.getXrpBalance(standby_wallet.address))
|
||||
results += '\nNFTs: \n' + JSON.stringify(nfts,null,2)
|
||||
document.getElementById('standbyResultField').value = results
|
||||
@@ -366,7 +366,7 @@ Report the results.
|
||||
document.getElementById('operationalResultField').value = results
|
||||
|
||||
|
||||
// Note that you must convert the token URL to a hexadecimal
|
||||
// Note that you must convert the token URL to a hexadecimal
|
||||
// value for this transaction.
|
||||
// ------------------------------------------------------------------------
|
||||
const transactionBlob = {
|
||||
@@ -378,7 +378,7 @@ Report the results.
|
||||
}
|
||||
|
||||
|
||||
// ------------------- Submit transaction and wait for results
|
||||
// ------------------- Submit transaction and wait for results
|
||||
const tx = await client.submitAndWait(transactionBlob, { wallet: operational_wallet} )
|
||||
const nfts = await client.request({
|
||||
method: "account_nfts",
|
||||
@@ -389,7 +389,7 @@ Report the results.
|
||||
// ------------------------------------------------------- Report results
|
||||
results += '\n\nTransaction result: '+ tx.result.meta.TransactionResult
|
||||
results += '\n\nnfts: ' + JSON.stringify(nfts, null, 2)
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
(await client.getXrpBalance(operational_wallet.address))
|
||||
document.getElementById('operationalResultField').value = results
|
||||
|
||||
@@ -457,7 +457,7 @@ Report the results.
|
||||
results += '\nBalance changes: ' +
|
||||
JSON.stringify(xrpl.getBalanceChanges(tx.result.meta), null, 2)
|
||||
document.getElementById('operationalResultField').value = results
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
(await client.getXrpBalance(operational_wallet.address))
|
||||
results += '\nNFTs: \n' + JSON.stringify(nfts,null,2)
|
||||
document.getElementById('operationalResultField').value = results
|
||||
@@ -777,3 +777,8 @@ Bold text in the following indicates changes to the form that support the new fu
|
||||
| Previous | Next |
|
||||
| :--- | ---: |
|
||||
| [← 2. Create TrustLine and Send Currency >](create-trustline-send-currency.html) | [4. Transfer NFTokens → >](transfer-nftokens.html) |
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
|
||||
@@ -156,7 +156,7 @@ To cancel a buy or sell offer that you have created:
|
||||
|
||||
|
||||
|
||||
# Code Walkthrough
|
||||
# Code Walkthrough
|
||||
|
||||
You can download the [Quickstart Samples](https://github.com/XRPLF/xrpl-dev-portal/tree/master/content/_code-samples/quickstart/js/quickstart.zip) archive to try each of the samples in your own browser.
|
||||
|
||||
@@ -208,7 +208,7 @@ Define the transaction. The _Flags_ value of 1 indicates that this transaction i
|
||||
|
||||
Submit the transaction and wait for the results.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
@@ -216,7 +216,7 @@ Submit the transaction and wait for the results.
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
@@ -266,9 +266,9 @@ Report the results of the transaction.
|
||||
|
||||
|
||||
```
|
||||
results += '\n\nTransaction result:\n' +
|
||||
results += '\n\nTransaction result:\n' +
|
||||
JSON.stringify(tx.result.meta.TransactionResult, null, 2)
|
||||
results += '\n\nBalance changes:\n' +
|
||||
results += '\n\nBalance changes:\n' +
|
||||
JSON.stringify(xrpl.getBalanceChanges(tx.result.meta), null, 2)
|
||||
```
|
||||
|
||||
@@ -277,9 +277,9 @@ Get the current XRP balances for the operational and standby accounts.
|
||||
|
||||
|
||||
```
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
(await client.getXrpBalance(operational_wallet.address))
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
(await client.getXrpBalance(standby_wallet.address))
|
||||
document.getElementById('standbyResultField').value = results
|
||||
```
|
||||
@@ -395,13 +395,13 @@ Request the list of buy offers for the token.
|
||||
|
||||
Report the results of the transaction.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
results += "\n\nTransaction result:\n" +
|
||||
JSON.stringify(tx.result.meta.TransactionResult, null, 2)
|
||||
results += "\n\nBalance changes:\n" +
|
||||
results += "\n\nBalance changes:\n" +
|
||||
JSON.stringify(xrpl.getBalanceChanges(tx.result.meta), null, 2)
|
||||
document.getElementById('standbyResultField').value = results
|
||||
```
|
||||
@@ -517,7 +517,7 @@ Report the transaction results.
|
||||
|
||||
results += "\nTransaction result:\n" +
|
||||
JSON.stringify(tx.result.meta.TransactionResult, null, 2)
|
||||
results += "\nBalance changes:\n" +
|
||||
results += "\nBalance changes:\n" +
|
||||
JSON.stringify(xrpl.getBalanceChanges(tx.result.meta), null, 2)
|
||||
document.getElementById('standbyResultField').value = results
|
||||
```
|
||||
@@ -680,9 +680,9 @@ Get the balances for both accounts.
|
||||
|
||||
|
||||
```
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
(await client.getXrpBalance(standby_wallet.address))
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
(await client.getXrpBalance(operational_wallet.address))
|
||||
```
|
||||
|
||||
@@ -781,7 +781,7 @@ Report the transaction result.
|
||||
|
||||
|
||||
```
|
||||
result += "\n\nTransaction result:\n" +
|
||||
result += "\n\nTransaction result:\n" +
|
||||
JSON.stringify(tx.result.meta.TransactionResult, null, 2)
|
||||
result += "\nBalance changes:\n" +
|
||||
JSON.stringify(xrpl.getBalanceChanges(tx.result.meta), null, 2)
|
||||
@@ -792,9 +792,9 @@ Request the XRP balance for both accounts.
|
||||
|
||||
|
||||
```
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
(await client.getXrpBalance(operational_wallet.address))
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
(await client.getXrpBalance(standby_wallet.address))
|
||||
document.getElementById('standbyResultField').value = results
|
||||
```
|
||||
@@ -875,13 +875,13 @@ These functions duplicate the functions of the standby account for the operation
|
||||
|
||||
|
||||
// Check transaction results -------------------------------------------------
|
||||
results += '\n\nTransaction result:\n' +
|
||||
results += '\n\nTransaction result:\n' +
|
||||
JSON.stringify(tx.result.meta.TransactionResult, null, 2)
|
||||
results += '\n\nBalance changes:\n' +
|
||||
results += '\n\nBalance changes:\n' +
|
||||
JSON.stringify(xrpl.getBalanceChanges(tx.result.meta), null, 2)
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
(await client.getXrpBalance(operational_wallet.address))
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
(await client.getXrpBalance(standby_wallet.address))
|
||||
document.getElementById('operationalResultField').value = results
|
||||
|
||||
@@ -902,7 +902,7 @@ These functions duplicate the functions of the standby account for the operation
|
||||
const operational_wallet = xrpl.Wallet.fromSeed(operationalSeedField.value)
|
||||
let net = getNet()
|
||||
const client = new xrpl.Client(net)
|
||||
let results = 'Connecting to ' + net + '...'
|
||||
let results = 'Connecting to ' + net + '...'
|
||||
document.getElementById('operationalResultField').value = results
|
||||
await client.connect()
|
||||
results += '\nConnected. Creating buy offer...'
|
||||
@@ -950,7 +950,7 @@ These functions duplicate the functions of the standby account for the operation
|
||||
|
||||
|
||||
// Check transaction results -------------------------------------------------
|
||||
results +="\n\nTransaction result:\n" +
|
||||
results +="\n\nTransaction result:\n" +
|
||||
JSON.stringify(tx.result.meta.TransactionResult, null, 2)
|
||||
results += "\n\nBalance changes:\n" +
|
||||
JSON.stringify(xrpl.getBalanceChanges(tx.result.meta), null, 2)
|
||||
@@ -1017,7 +1017,7 @@ These functions duplicate the functions of the standby account for the operation
|
||||
|
||||
results += "\nTransaction result:\n" +
|
||||
JSON.stringify(tx.result.meta.TransactionResult, null, 2)
|
||||
results += "\nBalance changes:\n" +
|
||||
results += "\nBalance changes:\n" +
|
||||
JSON.stringify(xrpl.getBalanceChanges(tx.result.meta), null, 2)
|
||||
document.getElementById('operationalResultField').value = results
|
||||
|
||||
@@ -1101,7 +1101,7 @@ These functions duplicate the functions of the standby account for the operation
|
||||
"SellOffer": operationalTokenOfferIndexField.value,
|
||||
}
|
||||
// Submit transaction --------------------------------------------------------
|
||||
const tx = await client.submitAndWait(transactionBlob,{wallet: operational_wallet})
|
||||
const tx = await client.submitAndWait(transactionBlob,{wallet: operational_wallet})
|
||||
const nfts = await client.request({
|
||||
method: "account_nfts",
|
||||
account: operational_wallet.classicAddress
|
||||
@@ -1113,9 +1113,9 @@ These functions duplicate the functions of the standby account for the operation
|
||||
|
||||
|
||||
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
document.getElementById('standbyBalanceField').value =
|
||||
(await client.getXrpBalance(standby_wallet.address))
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
(await client.getXrpBalance(operational_wallet.address))
|
||||
|
||||
|
||||
@@ -1156,7 +1156,7 @@ These functions duplicate the functions of the standby account for the operation
|
||||
"BuyOffer": operationalTokenOfferIndexField.value
|
||||
}
|
||||
// Submit transaction --------------------------------------------------------
|
||||
const tx = await client.submitAndWait(transactionBlob,{wallet: operational_wallet})
|
||||
const tx = await client.submitAndWait(transactionBlob,{wallet: operational_wallet})
|
||||
const nfts = await client.request({
|
||||
method: "account_nfts",
|
||||
account: operational_wallet.classicAddress
|
||||
@@ -1165,13 +1165,13 @@ These functions duplicate the functions of the standby account for the operation
|
||||
document.getElementById('operationalResultField').value = results
|
||||
|
||||
// Check transaction results -------------------------------------------------
|
||||
result += "\n\nTransaction result:\n" +
|
||||
result += "\n\nTransaction result:\n" +
|
||||
JSON.stringify(tx.result.meta.TransactionResult, null, 2)
|
||||
result += "\nBalance changes:\n" +
|
||||
JSON.stringify(xrpl.getBalanceChanges(tx.result.meta), null, 2)
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
(await client.getXrpBalance(operational_wallet.address))
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
document.getElementById('operationalBalanceField').value =
|
||||
(await client.getXrpBalance(standby_wallet.address))
|
||||
document.getElementById('operationalResultField').value = results
|
||||
client.disconnect()
|
||||
@@ -1512,3 +1512,8 @@ Update the form with fields and buttons to support the new functions.
|
||||
| Previous | Next |
|
||||
| :--- | ---: |
|
||||
| [← 3. Mint and Burn NFTokens >](mint-and-burn-nftokens.html) | |
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
|
||||
@@ -185,6 +185,8 @@ targets:
|
||||
"currency-formats.html#comparison": "currency-formats.html"
|
||||
# Fix links from untranslated NFToken tx refs to translated NFToken page
|
||||
"nftoken.html#nftoken-flags": "nftoken.html#nftoken-フラグ"
|
||||
"nftoken.html#taxon": "nftoken.html#分類群"
|
||||
"basic-data-types.html#addresses": "basic-data-types.html#アドレス"
|
||||
|
||||
|
||||
pages:
|
||||
|
||||
Reference in New Issue
Block a user