Contributing
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
- Integrate
web3-redux
into one of your DApps - Understand the general
web3-redux
architecture - 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
Related Libraries
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:
React
Redux
IndexedDB
Blockchain/Web3
Research
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)
Project Setup
Install
Install depedencies using pnpm.
git clone git@github.com:owlprotocol/web3-redux.git
pnpm i
Projects
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 packages/
:
- web3-redux: Web3-Redux core library
- web3-redux-components: Web3-Redux React Component library
- web3-redux-docs: Docusaurus documentation.