initial commit
[crowdnode.js/.git] / get-utxos.js
1 #!/usr/bin/env node
2
3 "use strict";
4
5 require("dotenv").config({ path: ".env" });
6 require("dotenv").config({ path: ".env.secret" });
7
8 let request = require("./lib/request.js");
9
10 let baseUrl = `https://insight.dash.org/insight-api`;
11
12 function help() {
13   console.info(``);
14   console.info(`Usage:`);
15   console.info(`        get-utxos <address>`);
16   console.info(``);
17   console.info(`Example:`);
18   console.info(`        get-utxos XkY4rkHb7BzaG9qMUwD7REgAJgSZVysw6C`);
19   console.info(``);
20 }
21
22 async function main() {
23   let addr = process.argv[2];
24
25   if (["help", "--help", "-h"].includes(addr)) {
26     help();
27     process.exit(0);
28     return;
29   }
30
31   // TODO check validity
32   if (!addr) {
33     help();
34     process.exit(1);
35     return;
36   }
37
38   let url = `${baseUrl}/addr/${addr}/utxo`;
39   let resp = await request({ url, json: true });
40   let out = JSON.stringify(resp.body, null, 2);
41   console.info(out);
42 }
43
44 main().catch(function (err) {
45   console.error("Fail:");
46   console.error(err.stack || err);
47 });