Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

client/asset/eth: fallback providers of last resort #2246

Closed
norwnd opened this issue Mar 22, 2023 · 8 comments
Closed

client/asset/eth: fallback providers of last resort #2246

norwnd opened this issue Mar 22, 2023 · 8 comments

Comments

@norwnd
Copy link
Contributor

norwnd commented Mar 22, 2023

Ignoring Ethereum recommendations listed in https://github.com/decred/dcrdex/blob/master/docs/wiki/Ethereum.md could result in failure to redeem (if all user-specified providers fail while user is trying to redeem),

one solution that doesn't degrade UX would be to allow user to configure just 1 provider (like we currently do), but have 2 or more hardcoded fallback providers (e.g. https://rpc.ankr.com/eth) that will not affect current flow in any way except that these will be used as a measure of last resort when none of user-configured providers are available.

For additional context/concerns see this discussion.

@norwnd
Copy link
Contributor Author

norwnd commented Mar 22, 2023

Would like to work on this, if this is a desirable feature.

@buck54321
Copy link
Member

I'm not convinced. Lock times are long for a reason. User has plenty of time to fix the problem if their provider is really tanked for 8 hours.

@norwnd
Copy link
Contributor Author

norwnd commented Mar 22, 2023

Lock times are long for a reason. User has plenty of time to fix the problem if their provider is really tanked for 8 hours.

Time isn't the main issue here (but even 8h might not be enough, can't user set up some trades and go afk for a while ? or have additional network issues to deal with on top),

not providing a fallback here is basically equivalent to stating "users who don't understand and remember the following: 1) ETH provider can fail for whatever reason 2) that means your wallet falls out of sync 3) that in turn means trades might fail to complete (you likely loose funds) shouldn't use DEX"

  • DEX doesn't target those users who don't understand this chain of events ?
  • they might still use DEX and encounter this "issue" on their own, dumb as they are, and go in flames on media about DEX being unreliable; and quite rightfully so because this could've been prevented with small software change
  • even if I do understand this chain of events, I don't want to worry about it occurring and having to deal with it

@chappjc
Copy link
Member

chappjc commented Mar 22, 2023

Well the least we can do is:

  • have two provider text boxes already, so it's obvious that's suggested
  • have a link to the wiki page where they can see a list of providers and learn what they are picking

On the philosophical points, yes, I think DEX users need to be more aware than the average user. At least a little. Sorry. Further, MetaMask users:

Users will "go in flames" on social media if we make the same mistakes.

@buck54321
Copy link
Member

I don't want to limit specified providers to one, and I don't want to have hard-coded fallback providers, so the best we can do is provide good instructions and possibly nag the user to use more. Showing two inputs by default is fine too.

@norwnd
Copy link
Contributor Author

norwnd commented Mar 24, 2023

Okay then, accidentally violating user privacy (which could happen with fallback providers) also isn't ideal,

have a link to the wiki page where they can see a list of providers and learn what they are picking

we have a separate issue for this, I believe

have two provider text boxes already, so it's obvious that's suggested

possibly nag the user to use more. Showing two inputs by default is fine too.

I guess the last question to answer is whether we want to force min required providers to be 2, or just display 2 fields to fill in and allow for 1. I'd vote for 2+ being mandatory.

@chappjc
Copy link
Member

chappjc commented Mar 24, 2023

I guess the last question to answer is whether we want to force min required providers to be 2, or just display 2 fields to fill in and allow for 1. I'd vote for 2+ being mandatory.

No, this was something I raised in the discussion that preceded this issue. 1 is allowed.

This issue seems so simple to me. Change nothing about the requirements or the UI except have it look like the user already hit the "+" once when they get there. (and a link to docs)

@norwnd
Copy link
Contributor Author

norwnd commented Apr 28, 2023

Looks like this one can be closed now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants