nimi-app / app

Nimi main App repo. Manage your Nimi's!
https://nimi.io
Other
9 stars 2 forks source link

Change network connector to rainbow #196

Open 0xvangrim opened 1 year ago

0xvangrim commented 1 year ago

We want to switch to [rainbowkit.com](http://rainbowkit.com/)

Tech Spec

Replace the web3-react stack with Rainbow Kit. Use the code found in nimi-card repo as foundation.

Ref:

[Custom ConnectButton - RainbowKit](https://www.rainbowkit.com/docs/custom-connect-button)

Acceptance Criteria

0xvangrim commented 1 year ago

@wolframeth compare wallet connect and rainbow (which one should we go with). E.g. multiple chains, and non-EVM chains.

wjram2133 commented 1 year ago

Here is my follow up research on Wallet vs Rainbow Kit. I have to say I'm not very bullish on Wallet Connect after these findings, I was not bullish on it to begin with considering my experience with it but this reinforces it. I would have preferred to have gone deeper with this research but unfortunately my time is limited. Here are the facts:

cc: @adamazad @daveai and others.

Review of Wallet Connect

- Supports up to 170+ wallets & 450+ apps 

- Integration difficulty: 
    - Offers 2 possible choices for UI: Web3Modal and default Wallet Connect modal; confusing.
        See: https://docs.walletconnect.com/2.0/web3modal/react/installation

    - Functions are built on callbacks - 
        See: https://docs.walletconnect.com/1.0/quick-start/dapps/client

    - Lacking documentations for v2.0(?)

- Reliability:
    - 339 issues closed, 303 open issues on Github.

    - Mobile operations (sessions) seem unreliable, a lot of issues with unresponsive sessions/links/webhooks where transaction requests does not invoke action on the wallet connected.

    - A lot of the time when connecting on mobile it opens the app store instead of the wallet app.

- Support:
    - Github support is available; response activity from devs is average.
    - Discord is avalable; but response time is close to nill.
    - Indirect resonse for support request on Twitter.
        See: https://twitter.com/WalletConnect/with_replies

Review of Rainbow kit

- Seamless and responsive Connect Wallet UI workflow.

- Seamless connection wih wallets without the need for Wallet Connect.

- More configuration options for the Connect UI through theming.
    - see: https://www.rainbowkit.com/docs/theming

- Sufficient documentation with tutorials and explanations included.
    - see: https://www.rainbowkit.com/docs/introduction

- Modal hooks to enable further customisation of logic 
    - see: https://www.rainbowkit.com/docs/modal-hooks

- Supports custom authentication (i.e. SIWE).
    - see: https://www.rainbowkit.com/docs/custom-authentication

- Supports wallet connect for extended support of obscure wallets.

- App Store and Google Play Integration (?)
    - No data on this

- Integration difficulty:
    - Easy integration to react with Wagma and Ether libraries as dependencies
        see: https://www.rainbowkit.com/docs/installation

    - Functions are built on promises 

- Reliability: 
    - fairly reliable for most wallets, rainbow kit is used in a lot applications 
    - 122 closed issues, 23 open issues on Github

- Support:
    - Bugs are attended mainly on Github - response activity from devs is excellent
        see: https://github.com/rainbow-me/rainbowkit/issues

    - The team can be reached on Twitter - they seem very active in resonding to support request there 
        see: https://twitter.com/rainbowdotme/with_replies

Conclusion:

adamazad commented 1 year ago

@wolframeth Rainbow kit :)

zamli commented 1 year ago

Lets do rainbow <3 Btw, this comparison, you can make a twitter thread and get some exposure to yourself :)