Skip to content

Commit

Permalink
include nodes in the map view
Browse files Browse the repository at this point in the history
  • Loading branch information
lalanza808 committed Oct 2, 2023
1 parent 336bdb1 commit 7513d0e
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 8 deletions.
9 changes: 6 additions & 3 deletions xmrnodes/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,12 @@ def rw_cache(key_name, data=None):
f.write(pickle.dumps(data))
return data
else:
with open(pickle_file, "rb") as f:
pickled_data = pickle.load(f)
return pickled_data
try:
with open(pickle_file, "rb") as f:
pickled_data = pickle.load(f)
return pickled_data
except:
return {}


def retrieve_peers(host, port):
Expand Down
8 changes: 7 additions & 1 deletion xmrnodes/routes/meta.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,16 @@ def index():
def map():
try:
peers = rw_cache("map_peers")
nodes = Node.select().where(Node.datetime_checked)
except:
flash("Couldn't load the map. Try again later.")
return redirect("/")
return render_template("map.html", peers=peers, source_node=config.NODE_HOST)
return render_template(
"map.html",
peers=peers,
nodes=nodes,
source_node=config.NODE_HOST
)


@bp.route("/about")
Expand Down
42 changes: 38 additions & 4 deletions xmrnodes/templates/map.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,14 @@
{% endwith %}

<div class="center info">
<p>Peers seen ~24 hours: {{ peers | length }}</p>
<p>Peers seen ~2 weeks: {{ peers | length }}</p>
<p>Source Node: {{ source_node }}</p>
<p>
This is not a full representation of the entire Monero network,
just a look into the peers being recursively crawled from the source node ({{ source_node }}).
New peers are searched for once per day.
New peers are searched for once per week on average.
Older peers are shown as more transparent and will be removed
if not seen again after {{ config.PEER_LIFETIME }} hours.
if not seen again after some time.
</p>
<br>
<a href="/">Go home</a>
Expand Down Expand Up @@ -95,8 +95,42 @@
})
});

{% for peer in peers %}
{% for peer in nodes %}
{% if peer.datetime_checked | hours_elapsed > 24 %}
{% set fill_color = 'rgba(1,1,45,.2)' %}
{% elif peer.datetime_checked | hours_elapsed > 16 %}
{% set fill_color = 'rgba(1,1,45,.4)' %}
{% elif peer.datetime_checked | hours_elapsed > 8 %}
{% set fill_color = 'rgba(1,1,45,.6)' %}
{% elif peer.datetime_checked | hours_elapsed > 4 %}
{% set fill_color = 'rgba(1,1,45,.8)' %}
{% else %}
{% set fill_color = 'rgba(1,1,45,1)' %}
{% endif %}
var feature = new ol.Feature(
new ol.geom.Point(ol.proj.transform(['{{ peer.lon }}', '{{ peer.lat }}'], 'EPSG:4326', 'EPSG:3857'))
);
feature.description = [
'Node {{ peer.url }}',
'Last seen {{ peer.datetime_checked | humanize }}'
];
feature.setStyle(new ol.style.Style({
image: new ol.style.Circle({
radius: 6,
fill: new ol.style.Fill({
color: '{{ fill_color }}',
}),
stroke: new ol.style.Stroke({
color: '#fff',
width: 1
})
})
})
);
markerLayer.getSource().addFeature(feature);
{% endfor %}

{% for peer in peers %}
{% if peer.datetime | hours_elapsed > 24 %}
{% set fill_color = 'rgba(238,111,45,.2)' %}
{% elif peer.datetime | hours_elapsed > 16 %}
Expand Down

0 comments on commit 7513d0e

Please sign in to comment.