Solvedweb3 react New Version: v6!

Hi web3-react peeps! I want to give everyone a status update on the future development of the project.

While I'm open to being proved wrong, I consider the overall design of web3-react to be sound (using React context to pass down relevant web3-related manager functions and descriptive variables with a generic connector format for specifying requirements specific to different providers). However, I think the current codebase leaves something to be desired in terms of thoughtfulness around function memoization, provider initialization, error messages, multiple simultaneous provider support, etc.

I have a basic framework in my head for how I'd like to structure the next version of the library to address some of these issues, but unfortunately not too much time to work on it.

I'm going to note down some of these ideas here, and set a tentative deadline of 1/1/2020 to get a beta version of the new architecture published.

  1. Migration to lerna monorepo (publish core and individual connectors separately)
  2. Use tsdx to manage development environment (bundling, testing, etc.)
  3. CI/CD via Github Actions and GitHub Package Registry
  4. Native multi-provider support (via multiple contexts? keys within a single context?)
  5. Suspense/Concurrent mode integration (if it ends up being relevant to the new architecture and in a stable release by then)
  6. Rip out ethers dependency in core
  7. Other stuff that I'm sure I'm not remembering at the moment.

Feel free to use this thread as a sounding board for questions/suggestions/comments/ etc. Thanks for your interest in the library, and I hope you'll continue to follow along as it continues to evolve!

22 Answers

✔️Accepted Answer

we did it!! yarn add @web3-react/*@latest (6.0.2)

Other Answers:

last set of connectors that i'm planning to be ready for the initial v6 release are published! (frame, ledger, trezor, authereum, squarelink, torus)

next and final steps for the mvp release are:

  • combing through the core logic once more for bugs/inconsistencies
  • ensuring that each connector is as efficient, consistent, etc. as possible (given the constraint that sometimes 3rd-party libraries are intractably broken in various ways)
  • slightly improving the codesandbox example
  • writing docs 🥱

alright all, we're getting close! i'm dog-fooding the latest v6 release on https://uniswap.exchange, and for the most part everything's been pretty smooth. aiming to publish a stable release (with some more/improved docs) before the new year!

beta version up on npm, works with injected and walletconnector connectors atm.

CodeSandbox

More Issues: