web3-redux was originally created by @leovigna and is now actively maintained by @owlprotocol as a library used in all of our DApps. The library is MIT licensed and anyone is free to contribute.
Before you do we recommend the following:
- Read through the docs and reference
web3-reduxinto one of your DApps
- Understand the general
- Fork the repo and run the test suite (some tests might fail due to missing API keys)
If you'd like to contribute:
- Look for an existing issue, and comment if interested in researching/implementing
- Create a new issue for feature requests/bugs
To fully understand the architecture of web3-redux, you might want to get familiar with some of the libraries this "meta-library" is built with:
Current areas of research include:
- Debugging & Error Handling middleware
- Test coverage & Additional Continuous Integration
- Additional documentation & guides
- Web3 RPC Optimizations (Multicall Contract, HTTP Batching)
- Indexing integrations (Etherscan, The Graph)
- Non-EVM blockchains (eg. Solana, Cardano, Ripple)
- Pre-configured "meta-hooks" for common interfaces
- ERC165, ERC20, ERC721, ERC1155 already implemented
- Pre-built React components (web3-redux-components)
Install depedencies using pnpm.
git clone email@example.com:owlprotocol/web3-redux.git
This section aims to discuss the layout of the
web3-redux repo and underlying packages for potential contributors or developers looking to debug the library by looking at the source code.
We use a monorepo architecture with various related projects stored under
- web3-redux: Web3-Redux core library
- web3-redux-components: Web3-Redux React Component library
- web3-redux-docs: Docusaurus documentation.