ReDApp
ReDApp is a NPM package aiming to ease the development of DApps (decentralized applications) by performing the common web3 tasks in an idiomatic Redux flow:
- call smartcontract getters, e.g. read token balance.
- transactions
- accounts
- blocks
- send regular transactions
- send smart-contract transactions
coming soon in V2:
- retrieve history: get filtered event logs
ReDApp only supports Web3.js v1.0+.
Documentation
API reference docs and integration docs can be found here: ReDApp Documentation
Dependencies
Library deps.
- Web3.0, v1.0+
- redux + redux-saga: where tracked information is maintained and updated with.
- UUID/v4: for unique ids for each transaction. Hashes do not suffice since in-broadcast transactions don't have a hash yet.
Dev deps.
- Babel (v7): ES6 support
- Mocha, Chai: testing
- istanbul: coverage reporting
- rimraf, cross-env, npm-run-all: utils for npm run scripts
- ESLint: linting
- ESdoc: documentation generator, checks doc coverage.
Examples
See /examples
folder:
Testing & Coverage
npm run:test
npm run:cover
Building
There are three build output formats: ES6, common-js, UMD.
ES6
- Babel stage features are transformed, code is otherwise the same
- Separate modules
- Outputs to
es
npm run build:es
Common-js
- Separate modules
- Compatible with non-ES6 code
- Outputs to
/lib
npm run build:cjs
UMD
- bundled code, single module require.
- Built to work with unpkg.
- external dependencies
- external babel helpers (
regeneratorRuntime
) - Outputs to
/dist/redapp.js
, and a minified version,/dist/redapp.js
npm run build:umd
npm run build:umd:min
License
MIT, see LICENSE file