mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-23 05:05:50 +00:00
66 lines
2.4 KiB
JavaScript
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()
|