Reading blocks and transactions from the Ethereum blockchain with React/Redux.
Install the dependencies:
npm install
See all available tasks in package.json
at scripts
:
-
Run the watcher and the linter:
npm run dev
-
Run the development server:
npm start
-
If
geth
is installed, you can use this helper task to start your local RPC service:npm run geth
See http://www.material-ui.com/#/customization/themes for other components example.
This trick helped a lot
Turning old school Web3 callback style function, into Promise for usage with redux-saga
:
const createCallback = (resolve, reject) => (error, result) => {
if (!error) {
resolve(result);
}
reject(error);
};
function callWeb3MethodAsPromise(method, args = []) {
return new Promise((resolve, reject) => {
if (!Web3.hasOwnProperty(method)) {
reject(new Error(`Method '${method} does'nt exists in Web3 API.`));
}
return Web3[method](...args, createCallback(resolve, reject));
});
}