mirror of
https://github.com/ditatompel/insights.git
synced 2025-01-08 03:12:06 +07:00
chore: Prettier formatting
This commit is contained in:
parent
fde2b36d7b
commit
c1f269c2a6
1 changed files with 59 additions and 63 deletions
|
@ -7,7 +7,6 @@ draft: false
|
||||||
noindex: false
|
noindex: false
|
||||||
featured: false
|
featured: false
|
||||||
pinned: false
|
pinned: false
|
||||||
# comments: false
|
|
||||||
series:
|
series:
|
||||||
# -
|
# -
|
||||||
categories:
|
categories:
|
||||||
|
@ -16,15 +15,6 @@ tags:
|
||||||
- Monero
|
- Monero
|
||||||
- API
|
- API
|
||||||
images:
|
images:
|
||||||
# -
|
|
||||||
# menu:
|
|
||||||
# main:
|
|
||||||
# weight: 100
|
|
||||||
# params:
|
|
||||||
# icon:
|
|
||||||
# vendor: bs
|
|
||||||
# name: book
|
|
||||||
# color: '#e24d0e'
|
|
||||||
authors:
|
authors:
|
||||||
- ditatompel
|
- ditatompel
|
||||||
---
|
---
|
||||||
|
@ -45,6 +35,7 @@ Since my main site that displays list of Monero remote nodes **MAY** contains Go
|
||||||
The default response will display 10 records, sorted from `last_checked` node.
|
The default response will display 10 records, sorted from `last_checked` node.
|
||||||
|
|
||||||
Optional query string parameters:
|
Optional query string parameters:
|
||||||
|
|
||||||
- `host`: Filter nodes based on hostname or IP address.
|
- `host`: Filter nodes based on hostname or IP address.
|
||||||
- `protocol`: Possible values:
|
- `protocol`: Possible values:
|
||||||
- `any` or _empty string_ or _not set_: Return nodes using any protocol.
|
- `any` or _empty string_ or _not set_: Return nodes using any protocol.
|
||||||
|
@ -74,14 +65,17 @@ Optional query string parameters:
|
||||||
- `-1`: No CORS filter is applied (default).
|
- `-1`: No CORS filter is applied (default).
|
||||||
|
|
||||||
For example, if you want to **list CORS enabled Monero nodes using https from United States sorted from recently checked node**:
|
For example, if you want to **list CORS enabled Monero nodes using https from United States sorted from recently checked node**:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
curl -sL 'https://xmr.ditatompel.com/api/v1/nodes?cors=1&protocol=https&country=us&sort_by=last_checked&sort_direction=desc' | jq
|
curl -sL 'https://xmr.ditatompel.com/api/v1/nodes?cors=1&protocol=https&country=us&sort_by=last_checked&sort_direction=desc' | jq
|
||||||
```
|
```
|
||||||
|
|
||||||
## Response Header
|
## Response Header
|
||||||
|
|
||||||
The response header includes the **HTTP status code** and the `content-type`. Clients that receive a HTTP status code other than `200` and `content-type` other than `application/json` must back-off.
|
The response header includes the **HTTP status code** and the `content-type`. Clients that receive a HTTP status code other than `200` and `content-type` other than `application/json` must back-off.
|
||||||
|
|
||||||
## Response Body
|
## Response Body
|
||||||
|
|
||||||
The response body includes the information of the query result, query status, and response message. In the example below, the response body of:
|
The response body includes the information of the query result, query status, and response message. In the example below, the response body of:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
@ -134,41 +128,42 @@ curl -sL 'https://xmr.ditatompel.com/api/v1/nodes?country=SG' | jq
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
- `status`: *string*, `ok` means everything looks good.
|
|
||||||
- `message`: *string*, Information related to your query, *success* or *error* message if any.
|
- `status`: _string_, `ok` means everything looks good.
|
||||||
- `data`: *object*, Information related to your query.
|
- `message`: _string_, Information related to your query, _success_ or _error_ message if any.
|
||||||
- `total_rows`: *unsigned int*; Total number of nodes found.
|
- `data`: _object_, Information related to your query.
|
||||||
- `rows_per_page`: *unsigned int*; Number of nodes per page.
|
- `total_rows`: _unsigned int_; Total number of nodes found.
|
||||||
- `items`: *array* of nodes or null if no nodes found. Each node has the structure as follows:
|
- `rows_per_page`: _unsigned int_; Number of nodes per page.
|
||||||
- `id`: *unsigned int*; ID of the node.
|
- `items`: _array_ of nodes or null if no nodes found. Each node has the structure as follows:
|
||||||
- `hostname`: *string*; The hostname / nodes IP address.
|
- `id`: _unsigned int_; ID of the node.
|
||||||
- `ip`: *string*; The IP address of node, empty string if hostname is not resolveable (Eg.: TOR nodes)
|
- `hostname`: _string_; The hostname / nodes IP address.
|
||||||
- `port`: *unsigned int*; TCP port the nodes is using to listen to RPC calls.
|
- `ip`: _string_; The IP address of node, empty string if hostname is not resolveable (Eg.: TOR nodes)
|
||||||
- `protocol`: *string*; The protocol used by nodes to listen RPC calls. This can be `http`, `https` or `empty string`.
|
- `port`: _unsigned int_; TCP port the nodes is using to listen to RPC calls.
|
||||||
- `is_tor`: *boolean*; whether the node is accessed through the Tor network.
|
- `protocol`: _string_; The protocol used by nodes to listen RPC calls. This can be `http`, `https` or `empty string`.
|
||||||
- `is_available`: *boolean*; whether the node is online or not. False may means node wasn't ready or my bots can't connect to nodes RPC daemon.
|
- `is_tor`: _boolean_; whether the node is accessed through the Tor network.
|
||||||
- `nettype`: *string*; Network type (one of `mainnet`, `stagenet` or `testnet`).
|
- `is_available`: _boolean_; whether the node is online or not. False may means node wasn't ready or my bots can't connect to nodes RPC daemon.
|
||||||
- `height`: *unsigned int*; Current length of longest chain known to daemon.
|
- `nettype`: _string_; Network type (one of `mainnet`, `stagenet` or `testnet`).
|
||||||
- `adjusted_time`: *unsigned int*; Current time approximated from chain data, as Unix time.
|
- `height`: _unsigned int_; Current length of longest chain known to daemon.
|
||||||
- `database_size`: *unsigned int*; The size of the blockchain database, in bytes.
|
- `adjusted_time`: _unsigned int_; Current time approximated from chain data, as Unix time.
|
||||||
- `difficulty`: *unsigned int*; Least-significant 64 bits of the 128-bit network difficulty.
|
- `database_size`: _unsigned int_; The size of the blockchain database, in bytes.
|
||||||
- `version`: *string*; Vesion of remote monero node is running.
|
- `difficulty`: _unsigned int_; Least-significant 64 bits of the 128-bit network difficulty.
|
||||||
- `uptime`: *float*; Uptime percentage of nodes for last 1 month. This likely **not** the real uptime value since my bots may experiencing network problems (I set connection timeout for 60 seconds).
|
- `version`: _string_; Vesion of remote monero node is running.
|
||||||
- `estimate_fee`: *unsigned int*; Amount of fees estimated per byte in atomic units. This just fee estimation, Malicious actors who running remote nodes [still can return high fee only when you about to create a transactions](monero-tx-fee-node.jpg).
|
- `uptime`: _float_; Uptime percentage of nodes for last 1 month. This likely **not** the real uptime value since my bots may experiencing network problems (I set connection timeout for 60 seconds).
|
||||||
- `asn`: *unsigned int*; The AS number that owns nodes IP address, `0` if no information available.
|
- `estimate_fee`: _unsigned int_; Amount of fees estimated per byte in atomic units. This just fee estimation, Malicious actors who running remote nodes [still can return high fee only when you about to create a transactions](monero-tx-fee-node.jpg).
|
||||||
- `asn_name`: *string*; The AS name that owns nodes IP addres.
|
- `asn`: _unsigned int_; The AS number that owns nodes IP address, `0` if no information available.
|
||||||
- `cc`: *string*; two-letter ISO 3166-1 country code nodes location, empty string if no information available.
|
- `asn_name`: _string_; The AS name that owns nodes IP addres.
|
||||||
- `country_name`: *string*; Country name based on nodes IP address, empty string if no information available.
|
- `cc`: _string_; two-letter ISO 3166-1 country code nodes location, empty string if no information available.
|
||||||
- `city`: *string*; City location based on nodes IP address, empty string if no information available.
|
- `country_name`: _string_; Country name based on nodes IP address, empty string if no information available.
|
||||||
- `latitude`: *float*; Approx. latitude (geographic coordinate).
|
- `city`: _string_; City location based on nodes IP address, empty string if no information available.
|
||||||
- `longitude`: *float*; Approx. longitude (geographic coordinate).
|
- `latitude`: _float_; Approx. latitude (geographic coordinate).
|
||||||
- `date_entered`: *unsigned int*, The Unix time when my bots start monitoring the node.
|
- `longitude`: _float_; Approx. longitude (geographic coordinate).
|
||||||
- `last_checked`: *unsigned int*, The Unix time when was the last time my bot checked into a monero node.
|
- `date_entered`: _unsigned int_, The Unix time when my bots start monitoring the node.
|
||||||
- `last_check_statuses`: *array* (size: `5`); last node avaibility status. Possible values:
|
- `last_checked`: _unsigned int_, The Unix time when was the last time my bot checked into a monero node.
|
||||||
|
- `last_check_statuses`: _array_ (size: `5`); last node avaibility status. Possible values:
|
||||||
- `0`: Offline
|
- `0`: Offline
|
||||||
- `1`: Online
|
- `1`: Online
|
||||||
- `2`: not yet checked.
|
- `2`: not yet checked.
|
||||||
- `cors`: *boolean*, whether the node return with `Access-Control-Allow-Origin` header or not.
|
- `cors`: _boolean_, whether the node return with `Access-Control-Allow-Origin` header or not.
|
||||||
|
|
||||||
> You will get `200` response code, `ok` status, and even if your query return no nodes (`null` value in `data.items` field).
|
> You will get `200` response code, `ok` status, and even if your query return no nodes (`null` value in `data.items` field).
|
||||||
|
|
||||||
|
@ -220,11 +215,12 @@ Diff: [013aa7d](https://github.com/ditatompel/insights/commit/013aa7db35edd28e72
|
||||||
Because I [refactoring my backend]({{< ref "/blog/rewriting-ditatompel-site-to-svelte-tailwind-and-go/index.md" >}}), there will most likely be another breaking changes in the near future.
|
Because I [refactoring my backend]({{< ref "/blog/rewriting-ditatompel-site-to-svelte-tailwind-and-go/index.md" >}}), there will most likely be another breaking changes in the near future.
|
||||||
|
|
||||||
### Update 2023-05-24
|
### Update 2023-05-24
|
||||||
|
|
||||||
- I've add `cors` and `last_check_statuses` to nodes data record.
|
- I've add `cors` and `last_check_statuses` to nodes data record.
|
||||||
|
|
||||||
### Update 2022-05-10
|
### Update 2022-05-10
|
||||||
|
|
||||||
- I've add `estimate_fee` to nodes data record which I get from [get_fee_estimate](https://www.getmonero.org/resources/developer-guides/daemon-rpc.html#get_fee_estimate) daemon RPC. This just fee estimation, moneromooo explain that malicious actors who running remote nodes [still can return high fee only when you about to create a transactions](monero-tx-fee-node.jpg).
|
- I've add `estimate_fee` to nodes data record which I get from [get_fee_estimate](https://www.getmonero.org/resources/developer-guides/daemon-rpc.html#get_fee_estimate) daemon RPC. This just fee estimation, moneromooo explain that malicious actors who running remote nodes [still can return high fee only when you about to create a transactions](monero-tx-fee-node.jpg).
|
||||||
- [selsta](https://github.com/selsta) create [pull request](https://github.com/monero-project/monero-gui/pull/3897) to add warning about high fee on official GUI conformation dialog.
|
- [selsta](https://github.com/selsta) create [pull request](https://github.com/monero-project/monero-gui/pull/3897) to add warning about high fee on official GUI conformation dialog.
|
||||||
- **The best and safest way is running your own node!**
|
- **The best and safest way is running your own node!**
|
||||||
- Nodes with 0% uptime within 1 month with more than 500 check attempt will be removed. You can always add your node again latter.
|
- Nodes with 0% uptime within 1 month with more than 500 check attempt will be removed. You can always add your node again latter.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue