I need to write a program that monitors the transactions that sent to me. My approach is to periodically (like every 2 minutes) call the Ripple public api to get transactions for my account. But on the developer doc, I find two way to achieve this:

  1. Ripple Data API . example:


  1. WebSocket/Json-RPC API. send to s2.ripple.com:443 with websocket or http. example:

{ "id": 1, "command": "account_tx",
"account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59",
"ledger_index_min": -1,
"ledger_index_max": -1,
"binary": false, "count": false,
"limit": 10, "forward": false }

I didn't check carefully, but they seem to have same response(with different format).

My question is :

  1. are they equivalent?

  2. which one should be preferred or which one is recommended by ripple?

  • They provide the same data. The data API is a high reliability service provided by Ripple. The websocket API is a less reliable service anyone running the XRP Ledger software can provide. The websocket APi is a bit harder to use because you have to carefully track which ledgers you've searched over. – David Schwartz May 30 '18 at 13:32

You can use both solutions. Api is based on Json-RPC. Its app for getting transactions on address. You can change it for your needs.

const RippleAPI = require('ripple-lib').RippleAPI; var test_server = 'wss://s2.ripple.com'; const api = new RippleAPI({ server: test_server // Public rippled server }); api.connect().then(() => { /* begin custom code ------------------------------------ */ const myAddress = 'rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn'; console.log('getting account info for', myAddress); return api.getTransactions(myAddress); }).then(info => { console.log(info); /* end custom code -------------------------------------- */ }).then(() => { return api.disconnect(); }).then(() => { console.log('done and disconnected.'); }).catch(console.error);

Good luck)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.