bitshares / bitshares-core

BitShares Blockchain node and command-line wallet
https://bitshares.github.io/
Other
1.17k stars 648 forks source link

BitShares Network Map #1348

Open ryanRfox opened 6 years ago

ryanRfox commented 6 years ago

User Story As an interested party I want to view a website displaying all seed nodes and public API server nodes on a world map based on IP that comprise the BitShares network so that I may visualization the node distribution and node type.

The required node data must include nodes listed here:

Impacts

Additional Context This request is not really "Core" related, but serves the community. The solution developed must be MIT licensed.

Extra Credit for a solution that collects and display other public nodes on the P2P network.

CORE TEAM TASK LIST

ryanRfox commented 6 years ago

@wackou developed BTS_TOOLS which includes a Python implementation with some static seed node data and a related website. Clicking the Map tab provides a visualization example.

pmconrad commented 6 years ago

Will add the network_mapper tool I'm using for my DNS seed.

litepresence commented 5 years ago

I am currently using this utility I've developed, it could be adapted to this task:

https://pastebin.com/9xaYV4jB

cedar-book commented 5 years ago

Hi @ryanRfox, Are those information important for the Node Admins to share? I have added a link (Public Full Node Information) on a node page because I opened the info page accidentally. And thought that might be good to share.

If we have more information links to collect and add on the node page (or new page), we can do that. Might be helpful for the Node admins?

clockworkgr commented 5 years ago

I believe @xeroc's solution uses @pmconrad 's network mapping work here: https://bitshares.eu/network/

@xeroc confirm?

xeroc commented 5 years ago

I believe @xeroc's solution uses @pmconrad 's network mapping work here: https://bitshares.eu/network/

Not really. The solution on bitshares.eu/network uses those API servers that have the network plugin enabled and to which I can authenticate. Part of that API is a call to list potential and connected peers. The ones on the map are a joint set of potential and connected nodes for the 10 machines that I have currently set up this way.

litepresence commented 5 years ago

I updated my code, now creates json api and includes geolocation data

code: https://github.com/litepresence/extinction-event/blob/master/EV/bitshares-latency.py api: https://api.jsonbin.io/b/5c06e4f71deea01014bd4261/latest#Bitshares_Latency

litepresence commented 5 years ago

updated code again. now includes map; see key MAP_URL in api.jsonbin.io above; map url updates hourly. code is updated in repo

litepresence commented 5 years ago

updated repo again

example:

https://vgy.me/iKlcbv.png

litepresence commented 5 years ago

vgy.me is nice upload api... but it does not allow for me to edit the image at a static location; each time my image changes I have to create a new web address. My theory was that someone with an existing webpage could use their site to go to the jsonbin... then use the json key for MAP_URL to then include the image in their website. Not sure if that is too hacky/obtuse of a solution.

Anyone have any suggestions as to a better location to host the final images?

ryanRfox commented 5 years ago

Hosting of the final images: I feel we should consider bitshares.org and the reference wallet. Perhaps @dls-cipher and @sschiessl-bcp can comment on that.

@litepresence may I request an estimation of your effort on this task? I want to ensure compensation is provided under one of the applicable worker proposal budgets.

sschiessl-bcp commented 5 years ago

The wallet should do as little outside calls as necessary, so including the live version is not possible.

ryanRfox commented 5 years ago

Removing this from the Feature Release in favor of #1550 . This does feel more like a UI request at this time, but I want to hold this open within Core repo as a reminder.

May I request @sschiessl-bcp @litepresence or another interested party create an Issue within the UI repo as a feature request? Then, please add a comment here to link the two.

Thanks for continuing to advance this request.