-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpay.js
36 lines (34 loc) · 1.28 KB
/
pay.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
if (process.argv.length < 5)
{
console.log("Usage: node pay <source family seed> <amount xrp> <destination account>")
process.exit(1)
}
const keypairs = require('ripple-keypairs');
const secret = process.argv[2];
const address = keypairs.deriveAddress(keypairs.deriveKeypair(secret).publicKey)
const amount = BigInt(process.argv[3]) * 1000000n
const dest = process.argv[4];
const RippleAPI = require('ripple-lib').RippleAPI;
const fs = require('fs');
const api = new RippleAPI({server: 'wss://hooks-testnet.xrpl-labs.com'});
api.on('error', (errorCode, errorMessage) => {console.log(errorCode + ': ' + errorMessage);});
api.on('connected', () => {console.log('connected');});
api.on('disconnected', (code) => {console.log('disconnected, code:', code);});
api.connect().then(() => {
let j = {
Account: address,
TransactionType: "Payment",
Amount: "" + amount,
Destination: dest,
Fee: "100000"
}
api.prepareTransaction(j).then((x)=>
{
s = api.sign(x.txJSON, secret)
console.log(s)
api.submit(s.signedTransaction).then( response => {
console.log(response.resultCode, response.resultMessage);
process.exit(0);
}).catch (e=> { console.log(e) });
});
}).then(() => {}).catch(console.error);