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)

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