Introduction
SourceCred is building an authentication service. This service will provide users in communities that utilize SourceCred to:
- Claim and link accounts across supported plugins
- Manage Grain awards
- Access administrative tools for their community if they are so empowered
- interact with creditor
- …more features as they emerge
In short, this will be a significant piece of code, as far as UX goes. This is complicated (perhaps enhanced?) by the fact that this will be an onchain integration, meaning that users of SourceCred will be interacting with the blockchain.
We’ll want to provide some way to auth directly with Discord and Github (ideally via some keybase-like proofing model so users can transparently revoke permissions as needed). However, the question around which web3 provider we want to point users towards is non-trivial.
There are many web3 providers, which link users securely to the ethereum blockchain. Some require a paid developer subscription. Some have really friendly UX and recovery tools.
Some Questions for us to think about
When the ethereum plugin is active in a sourcecred instance, what should the user see?
Do we show them an unopinionated list of web3 providers?
If not, what do we want to promote for new Users?
Some Existing Options for Web3 Providers
- Torus
- metamask
- rainbow?
- argent
- coinbase custody
- Portis
Let’s discuss these questions and options together here and arrive together at the best UX that balances our ability to retain some scope of control, cost, and good UX/Onboarding