Configure all Umami URL dependencies from a config file (mezos tezos-networks, public nodes, graphic proxy, etc.)
Currently we need to re-compile Umami for each new tezos-network available.
This feature request would allow to offload the tezos-net configuration from the code and add it in a configuration file shipped along with the umami-client for default values, but also downloadable from a fixed URL address (at umami-client startup for example).
It currently would need to contain at least all the following :
-
Depends of the tezos-network (
mainnet
,<testnet(s)>
, ...):- mezos endpoint
- public-tezos-node endpoint
-
Dependencies that does not depend of the tezos-network:
- graphic-proxy
- beacon ?
- ...
Once this mechanism is in place, we could allow :
- default file shipped with umami => we need to perform a release to change it
- include a URL set by default in umami (for example
www.umamiwallet.com/umami-stack.json
) => we only need to change this file to publish a new tezos-net endpoint, add or remove a public-node endpoint, etc. - allow for user-defined value => users can choose to use whatever endpoints they choose => useful for Dev, QA or debugging purposes.
On umami-client startup the checks would be performed in this order :
- check if user defined value for the file ? if yes, use it (useful for Dev, QA purposes, or if a user ever starts his own full umami-stack)
- if not, check if URL contains a valid/compatible file ? if yes, use it.
- if not, check use default embedded values shipped with the umami-client.
If multiple values are present (for example : multiple mainnet umami-stack endpoint, mutliple tezos-node endpoints) : check whether the connectivity is fine and load-balance the usage between them.