Add code samples for markers and pagination.

This commit is contained in:
Oliver Eggert
2022-11-21 21:11:06 -08:00
parent 49a7a45c6a
commit 5e65910562
3 changed files with 68 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
# Markers and Pagination
Iterate over a `ledger_data` method request that requires multiple calls.
Examples from the [Markers and Pagination page](https://xrpl.org/markers-and-pagination.html#markers-and-pagination).

View File

@@ -0,0 +1,40 @@
const xrpl = require("xrpl")
async function main() {
// Create client and connect to network.
const client = new xrpl.Client("wss://xrplcluster.com/")
await client.connect()
// Query ledger data.
let ledger = await client.request({
"command": "ledger_data",
"ledger_index": 500000,
})
// Create function to loop through API calls.
function code(){
console.log(ledger["result"])
}
// Run code at least once before checking for markers.
do {
code()
if (ledger["result"]["marker"] == null) {
break
}
const ledger_marker = await client.request({
"command": "ledger_data",
"ledger_index": 500000,
"marker": ledger["result"]["marker"]
})
ledger = ledger_marker
} while (true)
client.disconnect()
}
main()

View File

@@ -0,0 +1,23 @@
from xrpl.clients import JsonRpcClient
from xrpl.models.requests import LedgerData
# Create a client to connect to the main network.
client = JsonRpcClient("https://xrplcluster.com/")
# Specify ledger to query and request data.
ledger = LedgerData(ledger_index=500000)
ledger_data = client.request(ledger).result
# Code to run on each call.
def code():
print(ledger_data)
#Execute code at least once before checking for markers.
while True:
code()
if "marker" not in ledger_data:
break
# Specify ledger and marker to continue querying.
ledger_marker = LedgerData(ledger_index=500000, marker=ledger_data["marker"])
ledger_data = client.request(ledger_marker).result