Files
xrpl-dev-portal/_code-samples/checks/js/create-check.js
mDuo13 7f892f05db Update legacy Checks tutorial & sample code
Clean up legacy Checks tutorials
2024-10-15 12:17:51 -07:00

66 lines
2.4 KiB
JavaScript

'use strict'
const xrpl = require('xrpl')
async function main() {
try {
// Connect to the XRP Ledger Test Net -------------------------------------
console.log("Connecting to Testnet...")
const client = new xrpl.Client('wss://s.altnet.rippletest.net:51233')
await client.connect()
console.log("Connected.")
// Get a new wallet ---------------------------------------------------
console.log("Generating new wallet...")
const wallet = (await client.fundWallet()).wallet
console.log(" Address:", wallet.address)
console.log(" Seed:", wallet.seed)
// Prepare the transaction --------------------------------------------
const checkcreate = {
"TransactionType": "CheckCreate",
"Account": wallet.address,
"Destination": "rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis",
"SendMax": xrpl.xrpToDrops(120), // Can be more than you have
"InvoiceID": "46060241FABCF692D4D934BA2A6C4427CD4279083E38C77CBE642243E43BE291"
}
// Submit the transaction ---------------------------------------------
console.log("Submitting transaction...")
const tx = await client.submitAndWait(
checkcreate,
{ autofill: true,
wallet: wallet }
)
// Get transaction result and Check ID---------------------------------
console.log(`Transaction: ${JSON.stringify(tx, null, 2)}`)
if (tx.result.meta.TransactionResult === "tesSUCCESS") {
let checkID = null
for (const node of tx.result.meta.AffectedNodes) {
if (node?.CreatedNode &&
node.CreatedNode?.LedgerEntryType == "Check") {
checkID = node.CreatedNode.LedgerIndex
break
}
}
if (checkID) {
console.log(`Check ID: ${checkID}`)
} else {
console.log("Unable to find the CheckID from parsing the metadata. Look for the LedgerIndex of the 'Check' object within 'meta'.")
}
} else {
console.log("Transaction failed with result code "+
tx.result.meta.TransactionResult)
}
// Disconnect ---------------------------------------------------------
await client.disconnect()
} catch (error) {
console.error(`Error: ${error}`)
}
}
main()