Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
## User Story
As a developer I don't want to be forced to pick a library I'm not familiar with or have experience using. The BuidlBox currently uses the `ethers.js` library to interact with the Ethereum Blockchain, but the more popular alternative is `Web3.j`s library.
## Acceptance Criteria
- [ ] Redux Department Store matching the current `assimilation` style.
- [ ] 1-to-1 matching of the Web3.js functions/methods
- [ ] Integrates with current Redux State Management Patterns
Please comment with action plan within 24 hours of claiming the ticket. The action plan is a general outline the process that you plan to use to accomplish this ticket.
## Technical Details
Sagas are intrinsically complicated. It's not apparent how or why they fit into the state management layer, especially if you're unfamiliar with Redux. This is moreso with the BuidlBox Sagas, because we have a fair amount of "abstraction" using patterns like metadata parameter `delta`, which is used to create an abstraction layor for dispatching and using selectors to query the Redux Store, without requiring more Redux boilerplate.
To be considered complete only the skeleton is required. You don't have to include actual integation with the Web3 library. A Redux Sagas developer familair with the application architecture will make a pull request to merge the Web3 features. Unless... of course you want to do both, then by all means - you will be tipped additional ETH and learn more about Web3 - win/win.
Please reference the `ethers` store department located in `/src/assimilation/store/ethers/` for an outline of the required files.
### Auto Generate Redux Store Departments - Code Writing Code
Writing boilerplate code for state management is a pain. It's a major drawback of Redux. However, BuidlBox values standardizing data management/streaming patterns for complex Ethereum Blockchain interactions, so Redux is a great candidate for predictable state management across as many decentralize applications as possible.
Open the `resources/redux-derpartment/ethers/` in the Terminal and type the command `node actions.js` for an example auto-generated Redux Store Department code. #DelegateToTheMachines
![Auto Generated Code](https://pbs.twimg.com/media/Da8BRHoWsAE6GgI.jpg)