39 lines
1.4 KiB
JavaScript
39 lines
1.4 KiB
JavaScript
|
var request = require('request');
|
||
|
const fs = require("fs");
|
||
|
request('https://explorer.epic.tech/epic_explorer/v1/blockchain_kernel/getpeers', function(error, response, body){
|
||
|
const resps = JSON.parse(body);
|
||
|
const dataJson = resps.response.dataJson;
|
||
|
console.log(dataJson.length);
|
||
|
if (dataJson.length > 0) {
|
||
|
fs.readFile("./src/assets/geojson.json", function(err, data) {
|
||
|
const users = JSON.parse(data);
|
||
|
|
||
|
for (let i = 0; i < dataJson.length; i++) {
|
||
|
var ddd = [];
|
||
|
const getIP = dataJson[i].addr.split(':')[0];
|
||
|
request(`https://api.ipgeolocationapi.com/geolocate/${getIP}`, function(error, response, bodyresp){
|
||
|
const ipResp = JSON.parse(bodyresp);
|
||
|
const ipLatitude = ipResp.geo.latitude;
|
||
|
const ipLongitude = ipResp.geo.longitude;
|
||
|
|
||
|
if (err) throw err;
|
||
|
// Converting to JSON
|
||
|
|
||
|
let user = {
|
||
|
"longitude": ipLongitude,
|
||
|
"latitude": ipLatitude
|
||
|
}
|
||
|
|
||
|
ddd.push(user);
|
||
|
users.locations = ddd;
|
||
|
fs.writeFile("./src/assets/geojson.json", JSON.stringify(users), err => {
|
||
|
// Checking for errors
|
||
|
if (err) throw err;
|
||
|
});
|
||
|
});
|
||
|
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
});
|