blocknetdx / exrproxy-env

erp-ethserver
7 stars 10 forks source link

Add new call method to return supporting evms #180

Open shrnkld opened 2 years ago

shrnkld commented 2 years ago

Scenario: The XQuery (and future Hydra) dashboard app needs to display to the user which network(s) a particular SNode supports eg ETH, AVAX, SYS NEVM etc

To do:

ConanMishler commented 2 years ago

@shrnkld Perhaps this new call method requested in this issue won't be necessary once this PR is merged?: https://github.com/blocknetdx/exrproxy-env/pull/185 I think it's actually better to make it possible for the client to search for all SNodes supporting the EVMs they want using the Service Node Explorer, rather than making that EVM-specific information available via calls made to each SNode individually.

shrnkld commented 2 years ago

I think from a users pov, the XQuery dashboard (or cli) should be able to show this data without the user having to visit another website to find out what networks a particular snode supports (unless PR185 can provide this info instead to the dashboard website?):

1a  xquery user dashboard - new project - modal - avail snode list

ConanMishler commented 2 years ago

Yeah, that dashboard will be very user-friendly. Once this new PR is merged and SNodes start deploying with it, it should be possible to gather all the info displayed on that dashboard either by making api calls the SNode Explorer, or by gathering the same info directly from the Blocknet blockchain, like the SNode Explorer does.

Note, it is possible to configure an SNode to support different EVMs for Hydra than it does for XQuery (or visa versa). The above dashboard layout looks great, but if we use that format we'll want to give details under the "View details" button on which EVMs are supported by Hydra and which are supported by XQuery. (Maybe that was already the plan...)

ConanMishler commented 1 year ago

Now that https://github.com/blocknetdx/exrproxy-env/pull/185 has been merged, the task for this issue should really defined as:

Write a containerized plugin for EXR env which can be deployed through the SNode builder, and which responds as an XRouter/XCloud Service to requests for a list of which SNodes support XQuery and/or Hydra, and which EVMs are supported by XQuery & Hydra on each of those SNodes.

ConanMishler commented 1 year ago

@shrnkld Now that @tryiou has added XRouter Service for xrshowconfigs to https://utils.blocknet.org (https://utils.blocknet.org/xrs/xrshowconfigs), it seems this issue can be closed, correct?

shrnkld commented 1 year ago

Would it still not be better to build this plugin and have every SNode deploy it so any dapps we build can fetch a list of available services directly from all available SNodes, instead of a single server/domain?

I wouldn't say this is urgent as utils.blocknet is sufficient for this XQuery dashboard MVP, but it seems a better solution assuming there are no network or other technical limitations to the XC plugin method.

ConanMishler commented 1 year ago

@shrnkld It might be simpler just to modify the SNode builder code to add the necessary config statements to ~/exrproxy-env/scripts/start-exrproxy.sh so that http://<URL>/xrs/xrshowconfigs service is available on every SNode. Any reason not to do that? Maybe we should make that the task for this issue.

shrnkld commented 1 year ago

That sounds good to me @ConanMishler ⚡️